{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 587,
   "id": "817ba676-4005-459e-ac47-164097e2ee95",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-04-30T01:39:19.154546Z",
     "iopub.status.busy": "2024-04-30T01:39:19.152920Z",
     "iopub.status.idle": "2024-04-30T01:39:19.164564Z",
     "shell.execute_reply": "2024-04-30T01:39:19.162747Z",
     "shell.execute_reply.started": "2024-04-30T01:39:19.154455Z"
    }
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import scipy.fft as fft\n",
    "import cv2\n",
    "import matplotlib.pyplot as plt\n",
    "import os\n",
    "from tqdm import tqdm\n",
    "import pandas as pd\n",
    "import pywt\n",
    "import imageio"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 637,
   "id": "26e99467-6c75-41dd-a61c-487754411936",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-05-01T06:50:45.060528Z",
     "iopub.status.busy": "2024-05-01T06:50:45.059873Z",
     "iopub.status.idle": "2024-05-01T06:50:45.147710Z",
     "shell.execute_reply": "2024-05-01T06:50:45.146125Z",
     "shell.execute_reply.started": "2024-05-01T06:50:45.060477Z"
    }
   },
   "outputs": [],
   "source": [
    "def image_hash(img_path,n):\n",
    "    img = processing(img_path,n)\n",
    "    C_r_list = image_feature(img)\n",
    "    h_i = gen_hashing(C_r_list)\n",
    "    return h_i\n",
    "\n",
    "def processing(img_path,n):\n",
    "    \"\"\"\n",
    "    input：图片的路径\n",
    "    output：处理后的RGB图片\n",
    "    \"\"\"\n",
    "    try:\n",
    "        img = cv2.imread(img_path)\n",
    "        x = img.shape[0]//2 # 高度\n",
    "        y = img.shape[1]//2 # 宽度\n",
    "        Min = x if x<y else y\n",
    "        cropped_image = img[x-Min:x+Min, y-Min:y+Min] # 裁剪图像\n",
    "        img = cv2.resize((cropped_image), (256,256), interpolation=cv2.INTER_LINEAR)\n",
    "    except:\n",
    "        img = imageio.mimread(img_path)\n",
    "        img = np.array(img)\n",
    "        img = img[0]\n",
    "        img = img[:, :, 0:3]\n",
    "        x = img.shape[0]//2 # 高度\n",
    "        y = img.shape[1]//2 # 宽度\n",
    "        Min = x if x<y else y\n",
    "        cropped_image = img[x-Min:x+Min, y-Min:y+Min, :] # 裁剪图像\n",
    "        img = cv2.resize((cropped_image), (256,256), interpolation=cv2.INTER_LINEAR)\n",
    "#     out = cv2.GaussianBlur(img, (3, 3),1.3) # 使用python自带的高斯滤波\n",
    "    kernel = np.array([[1,2,1],[2,4,2],[1,2,1]])/16\n",
    "    out = cv2.filter2D(img, -1 , kernel=kernel)  # 二维滤波器\n",
    "    # out = cv2.cvtColor(out, cv2.COLOR_BGR2RGB)\n",
    "    out = cv2.cvtColor(out, cv2.COLOR_BGR2YCrCb)\n",
    "    ring_img = ring_partition(out,n)\n",
    "    return ring_img\n",
    "\n",
    "def ring_partition(img,n):\n",
    "    \"\"\"\n",
    "    使用环形分区形成二次图像\n",
    "    img:原始图片\n",
    "    n:环形分区\n",
    "    return:二次图像\n",
    "    \"\"\"\n",
    "    radius = [0]\n",
    "    u_a = int((img.shape[0]/2) ** 2 * np.pi / n)\n",
    "    radius.append(np.sqrt(u_a / np.pi))\n",
    "    R_result = np.zeros((n,u_a))\n",
    "    G_result = np.zeros((n,u_a))\n",
    "    B_result = np.zeros((n,u_a))\n",
    "    for i in range(1,n):\n",
    "        radius.append(np.sqrt((u_a + np.pi * radius[i] ** 2) / np.pi))\n",
    "    # radius = np.ceil(radius)\n",
    "    for i in range(len(radius)-1):\n",
    "        inner_radius = radius[i]\n",
    "        outer_radius = radius[i+1]\n",
    "        ring_result = ring_value(img,inner_radius,outer_radius,u_a)\n",
    "        R_result[i] = ring_result[0]\n",
    "        G_result[i] = ring_result[1]\n",
    "        B_result[i] = ring_result[2]\n",
    "    return np.array([R_result,G_result,B_result]).T\n",
    "\n",
    "def ring_value(img,inner_radius,outer_radius,u_a):\n",
    "    \"\"\"\n",
    "    获取环形分区中不为0的值，并且以升序的形式排序\n",
    "    return:(3,448)\n",
    "    \"\"\"\n",
    "    center = (img.shape[0],img.shape[0])\n",
    "    x,y = np.ogrid[0:img.shape[0],0:img.shape[0]]\n",
    "    distance = np.sqrt((x-img.shape[0]/2)**2 + (y-img.shape[0]/2)**2)\n",
    "    mask = (distance < outer_radius) & (distance >=inner_radius)\n",
    "    R = img[mask,0]\n",
    "    G = img[mask,1]\n",
    "    B = img[mask,2]\n",
    "    result = np.zeros((3,u_a))\n",
    "    for index,i in enumerate((R,G,B)):\n",
    "        xp = np.linspace(1, len(i), len(i))  \n",
    "        # 定义要插值的x值\n",
    "        x = np.linspace(1, len(i), u_a)\n",
    "        result[index] = np.sort(np.interp(x, xp, np.sort(i)))\n",
    "    return result\n",
    "\n",
    "def image_feature(img):\n",
    "    \"\"\"\n",
    "    iamge:(512,512,3)\n",
    "    return: array格式(x,64,64)\n",
    "    \"\"\"\n",
    "    P = pqft(img)\n",
    "    # A = gene_A(img)\n",
    "    # L = cv2.cvtColor(img.astype(np.uint8), cv2.COLOR_RGB2LAB)[:,:,0]\n",
    "    dwt_l = pywt.wavedec2(P, 'haar', level = 4)[0] # 代表实数部分\n",
    "    dwt_r = pywt.wavedec2(img[:,:,0], 'haar', level = 4)[0]\n",
    "    dwt_g = pywt.wavedec2(img[:,:,1], 'haar', level = 4)[0]\n",
    "    dwt_b = pywt.wavedec2(img[:,:,2], 'haar', level = 4)[0]\n",
    "    Q = -3 / np.sqrt(3) * (dwt_r + dwt_g + dwt_b)\n",
    "    Q_bg = 3 / np.sqrt(3) * (dwt_b - dwt_g + dwt_l)\n",
    "    Q_br = 3 / np.sqrt(3) * (dwt_r - dwt_b + dwt_l)\n",
    "    Q_gb = 3 / np.sqrt(3) * (dwt_g - dwt_r + dwt_l)\n",
    "    # # 没有实数部分\n",
    "    # dwt_r = pywt.wavedec2(img[:,:,0], 'haar', level = 4)[0]\n",
    "    # dwt_g = pywt.wavedec2(img[:,:,1], 'haar', level = 4)[0]\n",
    "    # dwt_b = pywt.wavedec2(img[:,:,2], 'haar', level = 4)[0]\n",
    "    # Q = -3 / np.sqrt(3) * (dwt_r + dwt_g + dwt_b)\n",
    "    # Q_bg = 3 / np.sqrt(3) * (dwt_b - dwt_g)\n",
    "    # Q_br = 3 / np.sqrt(3) * (dwt_r - dwt_b)\n",
    "    # Q_gb = 3 / np.sqrt(3) * (dwt_g - dwt_r)\n",
    "    return np.sqrt(Q ** 2 + Q_bg ** 2 + Q_br ** 2 + Q_gb ** 2)\n",
    "\n",
    "def gene_A(img):\n",
    "    \"\"\"\n",
    "    reger_color: 参考颜色\n",
    "    return: 颜色向量矩阵\n",
    "    \"\"\"\n",
    "    refer_color = np.array([np.mean(img[:,:,0]), np.mean(img[:,:,1]), np.mean(img[:,:,2])])\n",
    "    A = np.zeros((img.shape[0], img.shape[1]))\n",
    "    refer_sum = np.dot(refer_color, refer_color)\n",
    "    for i in range(A.shape[0]):\n",
    "        for j in range(A.shape[1]):\n",
    "            temp_color = np.array([img[i,j,0], img[i,j,1], img[i,j,2]])\n",
    "            cos_theta = np.dot(refer_color, temp_color) / (np.linalg.norm(refer_color) * np.linalg.norm(temp_color))\n",
    "            A[i,j] = np.sqrt(1 - cos_theta ** 2)\n",
    "    return A*255\n",
    "\n",
    "def pqft(img, sigma=8):\n",
    "    h, w, channel = img.shape\n",
    "    r, b, g = img[:,:,0], img[:,:,1], img[:,:,2]\n",
    "    R = r - (g + b)/2\n",
    "    G = g - (r + b)/2\n",
    "    B = b - (r + g)/2\n",
    "    Y = (r + g)/2 - (abs(r - g))/2 - b\n",
    "    RG = R - G\n",
    "    BY =B - Y\n",
    "    I1 = ((r+g+b) /3)\n",
    "    M = np.zeros((h, w))\n",
    "    f1 = M + RG * 1j\n",
    "    f2 = BY + I1 * 1j\n",
    "    F1 = np.fft.fft2(f1)\n",
    "    F2 = np.fft.fft2(f2)\n",
    "    phaseQ1 = np.angle(F1)\n",
    "    phaseQ2 = np.angle(F2)\n",
    "    ifftq1 = np.fft.ifft2(np.exp(phaseQ1 * 1j))\n",
    "    ifftq2 = np.fft.ifft2(np.exp(phaseQ2 * 1j))\n",
    "    absq1 = np.abs(ifftq1)\n",
    "    absq2 = np.abs(ifftq2)\n",
    "    squareq=(absq1+absq2) * (absq1+absq2)\n",
    "    out = cv2.GaussianBlur(squareq, (5, 5), sigma)\n",
    "    out = cv2.normalize(out.astype('float'), None, 0, 255, cv2.NORM_MINMAX)\n",
    "    return out\n",
    "    \n",
    "def gen_hashing(feature_matrix):\n",
    "    \"\"\"\n",
    "    生成图像哈希值,先把特征矩阵转置再flatten，达到按照列拼接的目的\n",
    "    input:array (x,64,64)\n",
    "    output:list (x)\n",
    "    \"\"\"\n",
    "    feature_matrix = feature_matrix.reshape(-1)\n",
    "    h=[1 if feature_matrix[i]-feature_matrix[i+1]>=0 else 0 for i in range(len(feature_matrix)-1)]\n",
    "    return np.array(h)\n",
    "\n",
    "def dist_img(h1,h2):\n",
    "    # distance = np.count_nonzero(np.array(list(h1)) != np.array(list(h2)))\n",
    "    # return distance / len(h1)\n",
    "    return sum(np.abs(h1-h2))/len(h1)\n",
    "\n",
    "def dis_different_dir(path,n, des_path):\n",
    "    # 目录下图片之间的距离\n",
    "    dirs = os.listdir(path)\n",
    "    image_set_list = []\n",
    "    image_hashing_value_set = []\n",
    "    for i in tqdm(dirs,ncols = 50):\n",
    "    # for i in dirs:\n",
    "        image_hashing_value_set.append(image_hash(os.path.join(path, i),n))\n",
    "    for i in range(len(image_hashing_value_set)):\n",
    "        for j in range(i+1,len(image_hashing_value_set)):\n",
    "            image_set_list.append(dist_img(image_hashing_value_set[i],image_hashing_value_set[j]))\n",
    "    for i in range(int(np.ceil(len(image_set_list)/1000000))-1):\n",
    "        start = i*1000000\n",
    "        end = (i+1)*1000000\n",
    "        pd.DataFrame(image_set_list[start:end]).to_excel(os.path.join(des_path,f\"different_image_result_{i+1}.xlsx\"),index = False)\n",
    "    pd.DataFrame(image_set_list[end+1:]).to_excel(os.path.join(des_path,f\"different_image_result_{i+2}.xlsx\"),index = False)\n",
    "    return image_set_list,image_hashing_value_set\n",
    "\n",
    "def dis_similar_dir(path,n):\n",
    "    \"\"\"\n",
    "    path:相同图片每种操作的目录\n",
    "    n:环数\n",
    "    block_size:分区大小\n",
    "    return:所有相同图片哈希距离的列表\n",
    "    \"\"\"\n",
    "    # 计算相同类型图片的距离\n",
    "    dir_rotation = os.listdir(path)\n",
    "    dis_similar = []\n",
    "    for i in dir_rotation:\n",
    "        if (os.path.splitext(i)[1] == \".bmp\") | (os.path.splitext(i)[1] == \".jpg\"):\n",
    "            h1 = image_hash(os.path.join(path, i),n)\n",
    "            dir_temp = os.path.join(path,os.path.splitext(i)[0])\n",
    "            for j in os.listdir(dir_temp):\n",
    "                h2 = image_hash(os.path.join(dir_temp,j),n)\n",
    "                dis_similar.append(dist_img(h1,h2))\n",
    "    return dis_similar\n",
    "\n",
    "def dir_dis_similar_dir(total_path,n,des_path):\n",
    "    \"\"\"\n",
    "    total_path:相同图片各种操作的根目录\n",
    "    des_path:存放结果的目录\n",
    "    return：存放每一种操作相同图片哈希距离的字典\n",
    "    \"\"\"\n",
    "    fold_each_attack = os.listdir(total_path)\n",
    "    dir_each_attack= {}\n",
    "    if not os.path.exists(os.path.join(des_path,\"similar_image_result\")):\n",
    "        os.makedirs(os.path.join(des_path,\"similar_image_result\"))\n",
    "    # total_path = os.path.join(total_path,\"similar_image_result\")\n",
    "    for i in tqdm(fold_each_attack,ncols = 50):\n",
    "        attack_path = os.path.join(total_path,i)\n",
    "        dir_each_attack[i] = dis_similar_dir(attack_path,n)\n",
    "        file_name = i + \".xlsx\"\n",
    "        pd.DataFrame(dir_each_attack[i]).to_excel(os.path.join(des_path,\"similar_image_result\",file_name),index = False)\n",
    "    return dir_each_attack\n",
    "\n",
    "def my_auc(image_similar, image_different):\n",
    "    from scipy import integrate\n",
    "    sum1 = len(image_similar)\n",
    "    sum2 = len(image_different)\n",
    "    tpr = []\n",
    "    fpr = []\n",
    "    threshold_max = (max(max(image_similar), max(image_different)))\n",
    "    for threshold in np.linspace(0,threshold_max,50):\n",
    "        tpr_number = len(image_similar[image_similar <= threshold])\n",
    "        fpr_number = len(image_different[image_different <= threshold])\n",
    "        tpr.append(tpr_number/sum1)\n",
    "        fpr.append(fpr_number/sum2)\n",
    "    return integrate.trapezoid(tpr,fpr)\n",
    "\n",
    "def stat_analysis(result_path):\n",
    "    \"\"\"\n",
    "    result_path:保存结果的路径\n",
    "    \"\"\"\n",
    "    dirs = os.listdir(result_path)\n",
    "    for i in dirs:\n",
    "        file_path = os.path.join(result_path, i)\n",
    "        if os.path.isdir (file_path):\n",
    "            for j in os.listdir(file_path):\n",
    "                xlsx_path = os.path.join(file_path,j)\n",
    "                data = pd.read_excel(xlsx_path,header = 0)[0]\n",
    "                print(f\"{j}的最小值：{min(data)}最大值：{max(data)}平均值：{np.mean(data)}\")\n",
    "        else:\n",
    "            xlsx_path = file_path\n",
    "            data = pd.read_excel(xlsx_path,header = 0)[0]\n",
    "            print(f\"{i}的最小值：{min(data)}最大值：{max(data)}平均值：{np.mean(data)}\")\n",
    "\n",
    "def auc_analysis(dir_path):\n",
    "    \"\"\"\n",
    "    dir_path:保存结果的路径\n",
    "    \"\"\"\n",
    "    similar_image_result_path = os.path.join(dir_path,\"similar_image_result\")\n",
    "    data_different =pd.Series()\n",
    "    for i in os.listdir(dir_path):\n",
    "        if not os.path.isdir(os.path.join(dir_path,i)):\n",
    "            print(os.path.join(dir_path,i))\n",
    "            temp = pd.read_excel(os.path.join(dir_path,i),header = 0)[0]\n",
    "            data_different = pd.concat((data_different,temp),axis=0)\n",
    "    similar_image_result_path_total = pd.Series()\n",
    "    for i in os.listdir(similar_image_result_path):\n",
    "        data_similar = pd.read_excel(os.path.join(similar_image_result_path,i),header = 0)[0]\n",
    "        similar_image_result_path_total= pd.concat((similar_image_result_path_total,data_similar),axis=0)\n",
    "        print(f\"{i}和不同图片的auc值：{my_auc(data_similar,data_different)}\")\n",
    "    print(f\"所有相同图片和不同图片 的auc值：{my_auc(similar_image_result_path_total,data_different)}\")\n",
    "\n",
    "# def copy_dectection_result(query_path, test_path, n):\n",
    "#     import glob\n",
    "#     query_hash = []\n",
    "#     test_hash = [] # 后 160 的结果是复制图像的结果\n",
    "#     dist_set = []\n",
    "#     for i in tqdm(os.listdir(query_path), ncols = 50):\n",
    "#         query_hash.append(image_hash(os.path.join(query_path, i),n))\n",
    "#     for i in tqdm(os.listdir(os.path.join(test_path, \"different_dataset\")), ncols =50):\n",
    "#         test_hash.append(image_hash(os.path.join(test_path, \"different_dataset\", i),n))\n",
    "#     for root, dirs, files in os.walk(os.path.join(test_path, \"copy_attack\")):\n",
    "#         for file in tqdm(glob.glob(os.path.join(root, '*.[a-zA-Z]*')), ncols = 50):  # 你可以根据需要修改文件类型，例如 *.png, *.gif 等 \n",
    "#             test_hash.append(image_hash(file, n))\n",
    "#     print(len(test_hash), len(query_hash))\n",
    "#     print(\"开始计算哈希距离\")\n",
    "#     for i in tqdm(test_hash, ncols = 50):\n",
    "#         for j in query_hash:\n",
    "#             dist_set.append(dist_img(i, j))\n",
    "#     pd.DataFrame(dist_set).to_excel(\"./复制检测结果/复制检测距离结果（1160）.xlsx\", index = False)\n",
    "    \n",
    "# def P_R_result(path):\n",
    "#     dist_set = np.array(pd.read_excel(path))\n",
    "#     min_dist = min(dist_set)\n",
    "#     max_dist = max(dist_set)\n",
    "#     P = []\n",
    "#     R = []\n",
    "#     for threshold in np.linspace(min_dist, max_dist, 15):\n",
    "#         diff_res = [1 if np.all(dist_set[i:i+10] > threshold) else 0 for i in np.arange(0, 9900, 10)]\n",
    "#         copy_res = [1 if np.any(dist_set[i:i+10] <= threshold) else 0 for i in np.arange(9900, 11600, 10)]\n",
    "#         # diff_res = [1 if np.all(dist_set[i:i+10] > threshold) else 0 for i in np.arange(0, 10000, 10)]\n",
    "#         # copy_res = [1 if np.any(dist_set[i:i+10] <= threshold) else 0 for i in np.arange(10000, 11600, 10)]\n",
    "#         TP = sum(copy_res)\n",
    "#         # FN = 160 - TP\n",
    "#         FN = 170 - TP\n",
    "#         FP = 990 - sum(diff_res)\n",
    "#         P.append(TP / (TP + FP))\n",
    "#         R.append(TP / (TP + FN))\n",
    "#     return np.linspace(min_dist, max_dist, 15), P, R\n",
    "\n",
    "def copy_dectection_result(dataset_path, n):\n",
    "    query_path = os.path.join(dataset_path, \"query_dataset\")\n",
    "    attack_path = os.path.join(dataset_path, \"test_dataset\", \"copy_attack\")\n",
    "    different_path = os.path.join(dataset_path, \"test_dataset\", \"different_dataset\")\n",
    "    result = pd.DataFrame()\n",
    "    for i in tqdm(os.listdir(query_path), ncols = 50):\n",
    "        temp = []\n",
    "        h1 = image_hash(os.path.join(query_path, i), n)\n",
    "        img_attack_path = os.path.join(attack_path, i.split(\".\")[0])\n",
    "        for j in os.listdir(img_attack_path):\n",
    "            h2 = image_hash(os.path.join(img_attack_path, j), n)\n",
    "            temp.append(dist_img(h1, h2))\n",
    "        for j in os.listdir(different_path):\n",
    "            h2 = image_hash(os.path.join(different_path, j), n)\n",
    "            temp.append(dist_img(h1, h2))\n",
    "        result[i] = temp\n",
    "    result.to_excel(\"./复制检测结果/第二次/result.xlsx\", index = False)\n",
    "    return result\n",
    "\n",
    "def cal_mAP(result_path):\n",
    "    result = pd.read_excel(result_path)\n",
    "    mAP = 0\n",
    "    for i in result:\n",
    "        now_10 = result[i][:10]\n",
    "        sorted_list = list(result[i])\n",
    "        sorted_list.sort()\n",
    "        max_10 = sorted_list[:10] # 这里是从小到大进行排序\n",
    "        mAP += cal_ap(now_10, max_10)\n",
    "    return mAP / 16\n",
    "\n",
    "def cal_ap(now_10, max_10):\n",
    "    AP = 0\n",
    "    bool_list = []\n",
    "    for i in now_10:\n",
    "        if i in max_10:\n",
    "            bool_list.append(1)\n",
    "        else:\n",
    "            bool_list.append(0)\n",
    "    for index, i in enumerate(bool_list):\n",
    "        AP += i * (sum(bool_list[:index+1]) / (index + 1))\n",
    "    return AP / len(now_10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d791245b-04c8-48bf-a827-1a97b723f78f",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-04-30T07:58:58.039633Z",
     "iopub.status.busy": "2024-04-30T07:58:58.039437Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 12%|█▋           | 2/16 [06:23<44:39, 191.39s/it]"
     ]
    }
   ],
   "source": [
    "result = copy_dectection_result(\"../new_data/copy_detection_dataset_2\", 128)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 484,
   "id": "db125629-3f72-4e11-b94d-bfbc4ef046f7",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-04-21T13:11:21.993294Z",
     "iopub.status.busy": "2024-04-21T13:11:21.991111Z",
     "iopub.status.idle": "2024-04-21T13:11:22.320320Z",
     "shell.execute_reply": "2024-04-21T13:11:22.319284Z",
     "shell.execute_reply.started": "2024-04-21T13:11:21.993224Z"
    }
   },
   "outputs": [],
   "source": [
    "# copy_dectection_result(\"../new_data/copy_detection_dataset/query_dataset/\", \"../new_data/copy_detection_dataset/test_dataset/\", 200)\n",
    "theshold, P, R = P_R_result(\"./复制检测结果/复制检测距离结果.xlsx\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "id": "3b8784f8-3d87-4a9e-a085-c7a01136484f",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-04-11T06:29:47.106188Z",
     "iopub.status.busy": "2024-04-11T06:29:47.104652Z",
     "iopub.status.idle": "2024-04-11T06:29:47.863097Z",
     "shell.execute_reply": "2024-04-11T06:29:47.861825Z",
     "shell.execute_reply.started": "2024-04-11T06:29:47.106123Z"
    },
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.05"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "h1 = image_hash(\"../new_data/multiple_attack_2/IDR+AWGN+CA/kodim01/kodim01_10.jpg\",200)\n",
    "# h2 = image_hash(\"../data/mandrill512.tif\",200)\n",
    "h2 = image_hash(\"../new_data/multiple_attack_2/IDR+AWGN+CA/kodim01.jpg\",200)\n",
    "dist_img(h1,h2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "id": "03ab83de-7853-4ba3-acc0-ca29a90e8c86",
   "metadata": {
    "collapsed": true,
    "execution": {
     "iopub.execute_input": "2024-04-11T09:53:40.799045Z",
     "iopub.status.busy": "2024-04-11T09:53:40.797500Z",
     "iopub.status.idle": "2024-04-11T10:03:16.286118Z",
     "shell.execute_reply": "2024-04-11T10:03:16.285134Z",
     "shell.execute_reply.started": "2024-04-11T09:53:40.798973Z"
    },
    "jupyter": {
     "outputs_hidden": true
    },
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████| 16/16 [09:35<00:00, 35.97s/it]\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "{'IDR+AWGN+BA': [0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.07272727272727272,\n",
       "  0.08636363636363636,\n",
       "  0.07727272727272727,\n",
       "  0.06818181818181818,\n",
       "  0.045454545454545456,\n",
       "  0.05,\n",
       "  0.07272727272727272,\n",
       "  0.1,\n",
       "  0.07727272727272727,\n",
       "  0.09545454545454546,\n",
       "  0.03636363636363636,\n",
       "  0.05454545454545454,\n",
       "  0.05454545454545454,\n",
       "  0.06818181818181818,\n",
       "  0.01818181818181818,\n",
       "  0.02727272727272727,\n",
       "  0.05,\n",
       "  0.045454545454545456,\n",
       "  0.07727272727272727,\n",
       "  0.08181818181818182,\n",
       "  0.031818181818181815,\n",
       "  0.03636363636363636,\n",
       "  0.06363636363636363,\n",
       "  0.06818181818181818,\n",
       "  0.031818181818181815,\n",
       "  0.03636363636363636,\n",
       "  0.09545454545454546,\n",
       "  0.10909090909090909,\n",
       "  0.11818181818181818,\n",
       "  0.11818181818181818,\n",
       "  0.05454545454545454,\n",
       "  0.04090909090909091,\n",
       "  0.03636363636363636,\n",
       "  0.05909090909090909,\n",
       "  0.05454545454545454,\n",
       "  0.05454545454545454,\n",
       "  0.05909090909090909,\n",
       "  0.10454545454545454,\n",
       "  0.045454545454545456,\n",
       "  0.05,\n",
       "  0.03636363636363636,\n",
       "  0.07272727272727272,\n",
       "  0.02727272727272727,\n",
       "  0.05,\n",
       "  0.01818181818181818,\n",
       "  0.03636363636363636],\n",
       " 'IDR+AWGN+CA': [0.05,\n",
       "  0.03636363636363636,\n",
       "  0.05454545454545454,\n",
       "  0.05454545454545454,\n",
       "  0.07272727272727272,\n",
       "  0.05909090909090909,\n",
       "  0.05,\n",
       "  0.045454545454545456,\n",
       "  0.08636363636363636,\n",
       "  0.10909090909090909,\n",
       "  0.07272727272727272,\n",
       "  0.07272727272727272,\n",
       "  0.05454545454545454,\n",
       "  0.05,\n",
       "  0.05454545454545454,\n",
       "  0.04090909090909091,\n",
       "  0.01818181818181818,\n",
       "  0.022727272727272728,\n",
       "  0.05909090909090909,\n",
       "  0.05909090909090909,\n",
       "  0.07272727272727272,\n",
       "  0.08181818181818182,\n",
       "  0.031818181818181815,\n",
       "  0.031818181818181815,\n",
       "  0.05454545454545454,\n",
       "  0.05909090909090909,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.08181818181818182,\n",
       "  0.12272727272727273,\n",
       "  0.11818181818181818,\n",
       "  0.11363636363636363,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.05454545454545454,\n",
       "  0.05909090909090909,\n",
       "  0.05,\n",
       "  0.05,\n",
       "  0.03636363636363636,\n",
       "  0.031818181818181815,\n",
       "  0.05909090909090909,\n",
       "  0.045454545454545456,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.013636363636363636,\n",
       "  0.031818181818181815,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456],\n",
       " 'IDR+AWGN+GC': [0.04090909090909091,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.05454545454545454,\n",
       "  0.10454545454545454,\n",
       "  0.10454545454545454,\n",
       "  0.07727272727272727,\n",
       "  0.10909090909090909,\n",
       "  0.06363636363636363,\n",
       "  0.03636363636363636,\n",
       "  0.05,\n",
       "  0.06363636363636363,\n",
       "  0.09545454545454546,\n",
       "  0.07727272727272727,\n",
       "  0.05909090909090909,\n",
       "  0.06818181818181818,\n",
       "  0.09545454545454546,\n",
       "  0.07727272727272727,\n",
       "  0.06363636363636363,\n",
       "  0.09090909090909091,\n",
       "  0.1,\n",
       "  0.08636363636363636,\n",
       "  0.08181818181818182,\n",
       "  0.06818181818181818,\n",
       "  0.10909090909090909,\n",
       "  0.07272727272727272,\n",
       "  0.08181818181818182,\n",
       "  0.09090909090909091,\n",
       "  0.07727272727272727,\n",
       "  0.06818181818181818,\n",
       "  0.07272727272727272,\n",
       "  0.07727272727272727,\n",
       "  0.02727272727272727,\n",
       "  0.031818181818181815,\n",
       "  0.01818181818181818,\n",
       "  0.022727272727272728,\n",
       "  0.05909090909090909,\n",
       "  0.045454545454545456,\n",
       "  0.03636363636363636,\n",
       "  0.05,\n",
       "  0.09545454545454546,\n",
       "  0.07272727272727272,\n",
       "  0.07272727272727272,\n",
       "  0.10454545454545454,\n",
       "  0.05,\n",
       "  0.031818181818181815,\n",
       "  0.045454545454545456,\n",
       "  0.05,\n",
       "  0.07272727272727272,\n",
       "  0.05454545454545454,\n",
       "  0.045454545454545456,\n",
       "  0.06363636363636363,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.03636363636363636,\n",
       "  0.04090909090909091,\n",
       "  0.1318181818181818,\n",
       "  0.1,\n",
       "  0.09545454545454546,\n",
       "  0.10454545454545454,\n",
       "  0.07727272727272727,\n",
       "  0.03636363636363636,\n",
       "  0.045454545454545456,\n",
       "  0.07727272727272727,\n",
       "  0.06363636363636363,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.05,\n",
       "  0.10454545454545454,\n",
       "  0.05,\n",
       "  0.05,\n",
       "  0.08636363636363636,\n",
       "  0.05909090909090909,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.05909090909090909,\n",
       "  0.11818181818181818,\n",
       "  0.1,\n",
       "  0.1,\n",
       "  0.12272727272727273,\n",
       "  0.05,\n",
       "  0.045454545454545456,\n",
       "  0.06818181818181818,\n",
       "  0.05909090909090909,\n",
       "  0.08636363636363636,\n",
       "  0.06818181818181818,\n",
       "  0.045454545454545456,\n",
       "  0.07272727272727272,\n",
       "  0.05,\n",
       "  0.05,\n",
       "  0.03636363636363636,\n",
       "  0.05909090909090909,\n",
       "  0.05454545454545454,\n",
       "  0.02727272727272727,\n",
       "  0.04090909090909091,\n",
       "  0.08636363636363636],\n",
       " 'IDR+AWGN+GLF': [0.04090909090909091,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.08181818181818182,\n",
       "  0.09545454545454546,\n",
       "  0.07727272727272727,\n",
       "  0.08636363636363636,\n",
       "  0.07272727272727272,\n",
       "  0.08181818181818182,\n",
       "  0.07272727272727272,\n",
       "  0.05909090909090909,\n",
       "  0.05,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.05454545454545454,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.05454545454545454,\n",
       "  0.05454545454545454,\n",
       "  0.05,\n",
       "  0.05,\n",
       "  0.04090909090909091,\n",
       "  0.05454545454545454,\n",
       "  0.05,\n",
       "  0.05,\n",
       "  0.07727272727272727,\n",
       "  0.08181818181818182,\n",
       "  0.07272727272727272,\n",
       "  0.07727272727272727,\n",
       "  0.07272727272727272,\n",
       "  0.08181818181818182,\n",
       "  0.07727272727272727,\n",
       "  0.07272727272727272,\n",
       "  0.08636363636363636,\n",
       "  0.08181818181818182,\n",
       "  0.08181818181818182,\n",
       "  0.08181818181818182,\n",
       "  0.07272727272727272,\n",
       "  0.08181818181818182,\n",
       "  0.07272727272727272,\n",
       "  0.07727272727272727,\n",
       "  0.06818181818181818,\n",
       "  0.07272727272727272,\n",
       "  0.07272727272727272,\n",
       "  0.06818181818181818,\n",
       "  0.07727272727272727,\n",
       "  0.07727272727272727,\n",
       "  0.07727272727272727,\n",
       "  0.07727272727272727,\n",
       "  0.06818181818181818,\n",
       "  0.05454545454545454,\n",
       "  0.06363636363636363,\n",
       "  0.05454545454545454,\n",
       "  0.05909090909090909,\n",
       "  0.05909090909090909,\n",
       "  0.05454545454545454,\n",
       "  0.06363636363636363,\n",
       "  0.01818181818181818,\n",
       "  0.022727272727272728,\n",
       "  0.01818181818181818,\n",
       "  0.022727272727272728,\n",
       "  0.01818181818181818,\n",
       "  0.022727272727272728,\n",
       "  0.031818181818181815,\n",
       "  0.022727272727272728,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.02727272727272727,\n",
       "  0.03636363636363636,\n",
       "  0.031818181818181815,\n",
       "  0.031818181818181815,\n",
       "  0.03636363636363636,\n",
       "  0.07272727272727272,\n",
       "  0.06818181818181818,\n",
       "  0.07727272727272727,\n",
       "  0.09090909090909091,\n",
       "  0.08636363636363636,\n",
       "  0.08636363636363636,\n",
       "  0.08636363636363636,\n",
       "  0.07727272727272727,\n",
       "  0.04090909090909091,\n",
       "  0.05,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.03636363636363636,\n",
       "  0.04090909090909091,\n",
       "  0.031818181818181815,\n",
       "  0.06363636363636363,\n",
       "  0.06363636363636363,\n",
       "  0.05909090909090909,\n",
       "  0.07727272727272727,\n",
       "  0.07727272727272727,\n",
       "  0.09090909090909091,\n",
       "  0.08636363636363636,\n",
       "  0.1,\n",
       "  0.031818181818181815,\n",
       "  0.031818181818181815,\n",
       "  0.03636363636363636,\n",
       "  0.04090909090909091,\n",
       "  0.03636363636363636,\n",
       "  0.02727272727272727,\n",
       "  0.031818181818181815,\n",
       "  0.02727272727272727,\n",
       "  0.10454545454545454,\n",
       "  0.08636363636363636,\n",
       "  0.08636363636363636,\n",
       "  0.09545454545454546,\n",
       "  0.09545454545454546,\n",
       "  0.09090909090909091,\n",
       "  0.08636363636363636,\n",
       "  0.08181818181818182,\n",
       "  0.031818181818181815,\n",
       "  0.031818181818181815,\n",
       "  0.031818181818181815,\n",
       "  0.03636363636363636,\n",
       "  0.031818181818181815,\n",
       "  0.03636363636363636,\n",
       "  0.031818181818181815,\n",
       "  0.03636363636363636,\n",
       "  0.05,\n",
       "  0.05454545454545454,\n",
       "  0.05,\n",
       "  0.04090909090909091,\n",
       "  0.03636363636363636,\n",
       "  0.045454545454545456,\n",
       "  0.03636363636363636,\n",
       "  0.04090909090909091,\n",
       "  0.05,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.05454545454545454,\n",
       "  0.05454545454545454,\n",
       "  0.045454545454545456,\n",
       "  0.031818181818181815,\n",
       "  0.022727272727272728,\n",
       "  0.031818181818181815,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.031818181818181815,\n",
       "  0.03636363636363636,\n",
       "  0.11363636363636363,\n",
       "  0.10454545454545454,\n",
       "  0.09545454545454546,\n",
       "  0.10454545454545454,\n",
       "  0.09090909090909091,\n",
       "  0.1,\n",
       "  0.09090909090909091,\n",
       "  0.08181818181818182,\n",
       "  0.05909090909090909,\n",
       "  0.05454545454545454,\n",
       "  0.05,\n",
       "  0.05454545454545454,\n",
       "  0.04090909090909091,\n",
       "  0.05909090909090909,\n",
       "  0.05,\n",
       "  0.05909090909090909,\n",
       "  0.03636363636363636,\n",
       "  0.031818181818181815,\n",
       "  0.04090909090909091,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.045454545454545456,\n",
       "  0.05,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.031818181818181815,\n",
       "  0.03636363636363636,\n",
       "  0.045454545454545456,\n",
       "  0.03636363636363636,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.05,\n",
       "  0.045454545454545456],\n",
       " 'IDR+AWGN+IS': [0.05909090909090909,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.01818181818181818,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.10454545454545454,\n",
       "  0.07272727272727272,\n",
       "  0.07272727272727272,\n",
       "  0.07272727272727272,\n",
       "  0.08181818181818182,\n",
       "  0.08181818181818182,\n",
       "  0.04090909090909091,\n",
       "  0.06363636363636363,\n",
       "  0.07272727272727272,\n",
       "  0.06363636363636363,\n",
       "  0.05454545454545454,\n",
       "  0.045454545454545456,\n",
       "  0.07272727272727272,\n",
       "  0.06818181818181818,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.08181818181818182,\n",
       "  0.07727272727272727,\n",
       "  0.09545454545454546,\n",
       "  0.07272727272727272,\n",
       "  0.07272727272727272,\n",
       "  0.07727272727272727,\n",
       "  0.07727272727272727,\n",
       "  0.05909090909090909,\n",
       "  0.08636363636363636,\n",
       "  0.07727272727272727,\n",
       "  0.07727272727272727,\n",
       "  0.07727272727272727,\n",
       "  0.09545454545454546,\n",
       "  0.1,\n",
       "  0.08181818181818182,\n",
       "  0.09090909090909091,\n",
       "  0.07727272727272727,\n",
       "  0.07727272727272727,\n",
       "  0.05909090909090909,\n",
       "  0.06818181818181818,\n",
       "  0.02727272727272727,\n",
       "  0.07272727272727272,\n",
       "  0.05909090909090909,\n",
       "  0.06818181818181818,\n",
       "  0.03636363636363636,\n",
       "  0.02727272727272727,\n",
       "  0.031818181818181815,\n",
       "  0.031818181818181815,\n",
       "  0.031818181818181815,\n",
       "  0.031818181818181815,\n",
       "  0.05454545454545454,\n",
       "  0.05454545454545454,\n",
       "  0.05,\n",
       "  0.04090909090909091,\n",
       "  0.05,\n",
       "  0.045454545454545456,\n",
       "  0.07727272727272727,\n",
       "  0.07272727272727272,\n",
       "  0.09090909090909091,\n",
       "  0.06363636363636363,\n",
       "  0.06363636363636363,\n",
       "  0.06818181818181818,\n",
       "  0.04090909090909091,\n",
       "  0.05,\n",
       "  0.03636363636363636,\n",
       "  0.05454545454545454,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.05909090909090909,\n",
       "  0.08636363636363636,\n",
       "  0.08181818181818182,\n",
       "  0.08636363636363636,\n",
       "  0.09545454545454546,\n",
       "  0.06818181818181818,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.02727272727272727,\n",
       "  0.02727272727272727,\n",
       "  0.03636363636363636,\n",
       "  0.031818181818181815,\n",
       "  0.07727272727272727,\n",
       "  0.08636363636363636,\n",
       "  0.09545454545454546,\n",
       "  0.1,\n",
       "  0.08636363636363636,\n",
       "  0.07727272727272727,\n",
       "  0.05454545454545454,\n",
       "  0.04090909090909091,\n",
       "  0.05,\n",
       "  0.08636363636363636,\n",
       "  0.04090909090909091,\n",
       "  0.05454545454545454,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.02727272727272727,\n",
       "  0.07727272727272727,\n",
       "  0.04090909090909091,\n",
       "  0.07272727272727272,\n",
       "  0.03636363636363636,\n",
       "  0.07272727272727272,\n",
       "  0.045454545454545456,\n",
       "  0.05454545454545454,\n",
       "  0.05454545454545454,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.11363636363636363,\n",
       "  0.10909090909090909,\n",
       "  0.10454545454545454,\n",
       "  0.10454545454545454,\n",
       "  0.07727272727272727,\n",
       "  0.07727272727272727,\n",
       "  0.06363636363636363,\n",
       "  0.05454545454545454,\n",
       "  0.05454545454545454,\n",
       "  0.05454545454545454,\n",
       "  0.05909090909090909,\n",
       "  0.04090909090909091,\n",
       "  0.05454545454545454,\n",
       "  0.05,\n",
       "  0.05,\n",
       "  0.045454545454545456,\n",
       "  0.022727272727272728,\n",
       "  0.022727272727272728,\n",
       "  0.03636363636363636,\n",
       "  0.031818181818181815,\n",
       "  0.022727272727272728,\n",
       "  0.03636363636363636,\n",
       "  0.04090909090909091,\n",
       "  0.03636363636363636,\n",
       "  0.05454545454545454,\n",
       "  0.03636363636363636,\n",
       "  0.05,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.031818181818181815],\n",
       " 'IDR+AWGN+JC': [0.04090909090909091,\n",
       "  0.05454545454545454,\n",
       "  0.05,\n",
       "  0.05454545454545454,\n",
       "  0.05,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.09090909090909091,\n",
       "  0.10909090909090909,\n",
       "  0.10909090909090909,\n",
       "  0.10909090909090909,\n",
       "  0.10454545454545454,\n",
       "  0.07727272727272727,\n",
       "  0.1,\n",
       "  0.09090909090909091,\n",
       "  0.06363636363636363,\n",
       "  0.07272727272727272,\n",
       "  0.08636363636363636,\n",
       "  0.07727272727272727,\n",
       "  0.07272727272727272,\n",
       "  0.07272727272727272,\n",
       "  0.07272727272727272,\n",
       "  0.05,\n",
       "  0.05909090909090909,\n",
       "  0.06363636363636363,\n",
       "  0.07727272727272727,\n",
       "  0.05,\n",
       "  0.05909090909090909,\n",
       "  0.05909090909090909,\n",
       "  0.05909090909090909,\n",
       "  0.06363636363636363,\n",
       "  0.08181818181818182,\n",
       "  0.10909090909090909,\n",
       "  0.09545454545454546,\n",
       "  0.08636363636363636,\n",
       "  0.1,\n",
       "  0.07727272727272727,\n",
       "  0.07727272727272727,\n",
       "  0.07272727272727272,\n",
       "  0.06818181818181818,\n",
       "  0.10454545454545454,\n",
       "  0.09545454545454546,\n",
       "  0.07727272727272727,\n",
       "  0.1,\n",
       "  0.08181818181818182,\n",
       "  0.08181818181818182,\n",
       "  0.07272727272727272,\n",
       "  0.045454545454545456,\n",
       "  0.07272727272727272,\n",
       "  0.07727272727272727,\n",
       "  0.05454545454545454,\n",
       "  0.05454545454545454,\n",
       "  0.05454545454545454,\n",
       "  0.05,\n",
       "  0.045454545454545456,\n",
       "  0.05,\n",
       "  0.06818181818181818,\n",
       "  0.05,\n",
       "  0.045454545454545456,\n",
       "  0.05454545454545454,\n",
       "  0.045454545454545456,\n",
       "  0.05,\n",
       "  0.05,\n",
       "  0.01818181818181818,\n",
       "  0.04090909090909091,\n",
       "  0.02727272727272727,\n",
       "  0.01818181818181818,\n",
       "  0.022727272727272728,\n",
       "  0.022727272727272728,\n",
       "  0.02727272727272727,\n",
       "  0.01818181818181818,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.05,\n",
       "  0.02727272727272727,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.06818181818181818,\n",
       "  0.07727272727272727,\n",
       "  0.08181818181818182,\n",
       "  0.08181818181818182,\n",
       "  0.09090909090909091,\n",
       "  0.08181818181818182,\n",
       "  0.07727272727272727,\n",
       "  0.06363636363636363,\n",
       "  0.022727272727272728,\n",
       "  0.05454545454545454,\n",
       "  0.05,\n",
       "  0.03636363636363636,\n",
       "  0.031818181818181815,\n",
       "  0.04090909090909091,\n",
       "  0.02727272727272727,\n",
       "  0.02727272727272727,\n",
       "  0.07272727272727272,\n",
       "  0.09545454545454546,\n",
       "  0.08181818181818182,\n",
       "  0.08181818181818182,\n",
       "  0.08636363636363636,\n",
       "  0.07727272727272727,\n",
       "  0.06818181818181818,\n",
       "  0.07272727272727272,\n",
       "  0.031818181818181815,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.03636363636363636,\n",
       "  0.04090909090909091,\n",
       "  0.02727272727272727,\n",
       "  0.03636363636363636,\n",
       "  0.1,\n",
       "  0.11363636363636363,\n",
       "  0.11818181818181818,\n",
       "  0.10909090909090909,\n",
       "  0.09545454545454546,\n",
       "  0.10909090909090909,\n",
       "  0.09090909090909091,\n",
       "  0.10909090909090909,\n",
       "  0.09090909090909091,\n",
       "  0.12727272727272726,\n",
       "  0.1,\n",
       "  0.07727272727272727,\n",
       "  0.09545454545454546,\n",
       "  0.09545454545454546,\n",
       "  0.09090909090909091,\n",
       "  0.1,\n",
       "  0.05,\n",
       "  0.05909090909090909,\n",
       "  0.045454545454545456,\n",
       "  0.05454545454545454,\n",
       "  0.05909090909090909,\n",
       "  0.045454545454545456,\n",
       "  0.05454545454545454,\n",
       "  0.05,\n",
       "  0.05909090909090909,\n",
       "  0.12727272727272726,\n",
       "  0.09545454545454546,\n",
       "  0.07272727272727272,\n",
       "  0.05454545454545454,\n",
       "  0.05909090909090909,\n",
       "  0.05454545454545454,\n",
       "  0.06363636363636363,\n",
       "  0.02727272727272727,\n",
       "  0.08181818181818182,\n",
       "  0.05454545454545454,\n",
       "  0.05454545454545454,\n",
       "  0.05454545454545454,\n",
       "  0.05,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.10454545454545454,\n",
       "  0.07272727272727272,\n",
       "  0.05909090909090909,\n",
       "  0.06363636363636363,\n",
       "  0.045454545454545456,\n",
       "  0.05,\n",
       "  0.05,\n",
       "  0.05454545454545454,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.05454545454545454,\n",
       "  0.07272727272727272,\n",
       "  0.05,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.08636363636363636,\n",
       "  0.06363636363636363,\n",
       "  0.06818181818181818,\n",
       "  0.05454545454545454,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.05454545454545454,\n",
       "  0.05,\n",
       "  0.04090909090909091,\n",
       "  0.05454545454545454,\n",
       "  0.031818181818181815,\n",
       "  0.02727272727272727,\n",
       "  0.045454545454545456,\n",
       "  0.022727272727272728,\n",
       "  0.08181818181818182,\n",
       "  0.031818181818181815,\n",
       "  0.031818181818181815,\n",
       "  0.03636363636363636,\n",
       "  0.02727272727272727,\n",
       "  0.022727272727272728,\n",
       "  0.022727272727272728],\n",
       " 'IDR+AWGN+SN': [0.04090909090909091,\n",
       "  0.03636363636363636,\n",
       "  0.045454545454545456,\n",
       "  0.031818181818181815,\n",
       "  0.031818181818181815,\n",
       "  0.02727272727272727,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.031818181818181815,\n",
       "  0.09090909090909091,\n",
       "  0.07272727272727272,\n",
       "  0.08181818181818182,\n",
       "  0.06363636363636363,\n",
       "  0.07272727272727272,\n",
       "  0.09545454545454546,\n",
       "  0.06363636363636363,\n",
       "  0.06818181818181818,\n",
       "  0.09545454545454546,\n",
       "  0.06818181818181818,\n",
       "  0.04090909090909091,\n",
       "  0.05,\n",
       "  0.05,\n",
       "  0.04090909090909091,\n",
       "  0.05909090909090909,\n",
       "  0.03636363636363636,\n",
       "  0.05454545454545454,\n",
       "  0.05909090909090909,\n",
       "  0.05,\n",
       "  0.05454545454545454,\n",
       "  0.045454545454545456,\n",
       "  0.05454545454545454,\n",
       "  0.031818181818181815,\n",
       "  0.05909090909090909,\n",
       "  0.05454545454545454,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.05,\n",
       "  0.05454545454545454,\n",
       "  0.05,\n",
       "  0.07272727272727272,\n",
       "  0.09090909090909091,\n",
       "  0.09090909090909091,\n",
       "  0.10454545454545454,\n",
       "  0.09545454545454546,\n",
       "  0.09545454545454546,\n",
       "  0.08636363636363636,\n",
       "  0.08181818181818182,\n",
       "  0.07727272727272727,\n",
       "  0.10454545454545454,\n",
       "  0.09545454545454546,\n",
       "  0.09545454545454546,\n",
       "  0.1,\n",
       "  0.10454545454545454,\n",
       "  0.06363636363636363,\n",
       "  0.10454545454545454,\n",
       "  0.09090909090909091,\n",
       "  0.10909090909090909,\n",
       "  0.08636363636363636,\n",
       "  0.10454545454545454,\n",
       "  0.07727272727272727,\n",
       "  0.07727272727272727,\n",
       "  0.07727272727272727,\n",
       "  0.06818181818181818,\n",
       "  0.07727272727272727,\n",
       "  0.06818181818181818,\n",
       "  0.09090909090909091,\n",
       "  0.08181818181818182,\n",
       "  0.07727272727272727,\n",
       "  0.06363636363636363,\n",
       "  0.06363636363636363,\n",
       "  0.05,\n",
       "  0.06818181818181818,\n",
       "  0.045454545454545456,\n",
       "  0.07272727272727272,\n",
       "  0.05,\n",
       "  0.05909090909090909,\n",
       "  0.05,\n",
       "  0.07727272727272727,\n",
       "  0.06363636363636363,\n",
       "  0.022727272727272728,\n",
       "  0.02727272727272727,\n",
       "  0.031818181818181815,\n",
       "  0.022727272727272728,\n",
       "  0.02727272727272727,\n",
       "  0.022727272727272728,\n",
       "  0.031818181818181815,\n",
       "  0.031818181818181815,\n",
       "  0.02727272727272727,\n",
       "  0.02727272727272727,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.05454545454545454,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.05454545454545454,\n",
       "  0.04090909090909091,\n",
       "  0.06818181818181818,\n",
       "  0.08181818181818182,\n",
       "  0.05909090909090909,\n",
       "  0.10454545454545454,\n",
       "  0.08636363636363636,\n",
       "  0.09090909090909091,\n",
       "  0.09545454545454546,\n",
       "  0.08636363636363636,\n",
       "  0.08636363636363636,\n",
       "  0.08636363636363636,\n",
       "  0.08636363636363636,\n",
       "  0.02727272727272727,\n",
       "  0.05,\n",
       "  0.045454545454545456,\n",
       "  0.03636363636363636,\n",
       "  0.05454545454545454,\n",
       "  0.03636363636363636,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.05454545454545454,\n",
       "  0.03636363636363636,\n",
       "  0.06363636363636363,\n",
       "  0.07272727272727272,\n",
       "  0.1,\n",
       "  0.08636363636363636,\n",
       "  0.06363636363636363,\n",
       "  0.06818181818181818,\n",
       "  0.08181818181818182,\n",
       "  0.05909090909090909,\n",
       "  0.06363636363636363,\n",
       "  0.1,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.031818181818181815,\n",
       "  0.03636363636363636,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.02727272727272727,\n",
       "  0.09545454545454546,\n",
       "  0.08636363636363636,\n",
       "  0.08636363636363636,\n",
       "  0.09090909090909091,\n",
       "  0.1,\n",
       "  0.10909090909090909,\n",
       "  0.09545454545454546,\n",
       "  0.12272727272727273,\n",
       "  0.10454545454545454,\n",
       "  0.11363636363636363,\n",
       "  0.02727272727272727,\n",
       "  0.06818181818181818,\n",
       "  0.05454545454545454,\n",
       "  0.06363636363636363,\n",
       "  0.07727272727272727,\n",
       "  0.06363636363636363,\n",
       "  0.08181818181818182,\n",
       "  0.07272727272727272,\n",
       "  0.05909090909090909,\n",
       "  0.07272727272727272,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.03636363636363636,\n",
       "  0.05454545454545454,\n",
       "  0.05909090909090909,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.05454545454545454,\n",
       "  0.03636363636363636,\n",
       "  0.05,\n",
       "  0.05454545454545454,\n",
       "  0.031818181818181815,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.05909090909090909,\n",
       "  0.06818181818181818,\n",
       "  0.04090909090909091,\n",
       "  0.05454545454545454,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.07727272727272727,\n",
       "  0.05,\n",
       "  0.08181818181818182,\n",
       "  0.05909090909090909,\n",
       "  0.06363636363636363,\n",
       "  0.05,\n",
       "  0.1,\n",
       "  0.07727272727272727,\n",
       "  0.10454545454545454,\n",
       "  0.1,\n",
       "  0.11363636363636363,\n",
       "  0.09545454545454546,\n",
       "  0.10909090909090909,\n",
       "  0.11363636363636363,\n",
       "  0.13636363636363635,\n",
       "  0.1318181818181818,\n",
       "  0.06363636363636363,\n",
       "  0.05454545454545454,\n",
       "  0.05,\n",
       "  0.06818181818181818,\n",
       "  0.05,\n",
       "  0.04090909090909091,\n",
       "  0.08181818181818182,\n",
       "  0.05,\n",
       "  0.05909090909090909,\n",
       "  0.06363636363636363,\n",
       "  0.04090909090909091,\n",
       "  0.05909090909090909,\n",
       "  0.03636363636363636,\n",
       "  0.045454545454545456,\n",
       "  0.05,\n",
       "  0.031818181818181815,\n",
       "  0.045454545454545456,\n",
       "  0.05,\n",
       "  0.05909090909090909,\n",
       "  0.05,\n",
       "  0.031818181818181815,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.03636363636363636,\n",
       "  0.05454545454545454,\n",
       "  0.03636363636363636,\n",
       "  0.05,\n",
       "  0.04090909090909091,\n",
       "  0.03636363636363636,\n",
       "  0.05,\n",
       "  0.03636363636363636,\n",
       "  0.04090909090909091,\n",
       "  0.03636363636363636,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.05,\n",
       "  0.05,\n",
       "  0.05454545454545454,\n",
       "  0.05454545454545454,\n",
       "  0.03636363636363636],\n",
       " 'IDR+SPN+AWGN': [0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.04090909090909091,\n",
       "  0.03636363636363636,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.09545454545454546,\n",
       "  0.08636363636363636,\n",
       "  0.08636363636363636,\n",
       "  0.09090909090909091,\n",
       "  0.08636363636363636,\n",
       "  0.08181818181818182,\n",
       "  0.09090909090909091,\n",
       "  0.08181818181818182,\n",
       "  0.08181818181818182,\n",
       "  0.08636363636363636,\n",
       "  0.05454545454545454,\n",
       "  0.05454545454545454,\n",
       "  0.05454545454545454,\n",
       "  0.05454545454545454,\n",
       "  0.045454545454545456,\n",
       "  0.05454545454545454,\n",
       "  0.05454545454545454,\n",
       "  0.05909090909090909,\n",
       "  0.05,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.08636363636363636,\n",
       "  0.07727272727272727,\n",
       "  0.07727272727272727,\n",
       "  0.08181818181818182,\n",
       "  0.08181818181818182,\n",
       "  0.08181818181818182,\n",
       "  0.08181818181818182,\n",
       "  0.08181818181818182,\n",
       "  0.08181818181818182,\n",
       "  0.07727272727272727,\n",
       "  0.07272727272727272,\n",
       "  0.07272727272727272,\n",
       "  0.07272727272727272,\n",
       "  0.06818181818181818,\n",
       "  0.07272727272727272,\n",
       "  0.07272727272727272,\n",
       "  0.07272727272727272,\n",
       "  0.07272727272727272,\n",
       "  0.07272727272727272,\n",
       "  0.07272727272727272,\n",
       "  0.07727272727272727,\n",
       "  0.08636363636363636,\n",
       "  0.07272727272727272,\n",
       "  0.07727272727272727,\n",
       "  0.08636363636363636,\n",
       "  0.08181818181818182,\n",
       "  0.08181818181818182,\n",
       "  0.07727272727272727,\n",
       "  0.08636363636363636,\n",
       "  0.07727272727272727,\n",
       "  0.06363636363636363,\n",
       "  0.06363636363636363,\n",
       "  0.06818181818181818,\n",
       "  0.06363636363636363,\n",
       "  0.06363636363636363,\n",
       "  0.06363636363636363,\n",
       "  0.05909090909090909,\n",
       "  0.06363636363636363,\n",
       "  0.05909090909090909,\n",
       "  0.06363636363636363,\n",
       "  0.022727272727272728,\n",
       "  0.022727272727272728,\n",
       "  0.02727272727272727,\n",
       "  0.022727272727272728,\n",
       "  0.022727272727272728,\n",
       "  0.022727272727272728,\n",
       "  0.022727272727272728,\n",
       "  0.02727272727272727,\n",
       "  0.022727272727272728,\n",
       "  0.02727272727272727,\n",
       "  0.03636363636363636,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.03636363636363636,\n",
       "  0.05454545454545454,\n",
       "  0.05454545454545454,\n",
       "  0.05909090909090909,\n",
       "  0.05,\n",
       "  0.06363636363636363,\n",
       "  0.05454545454545454,\n",
       "  0.05,\n",
       "  0.06363636363636363,\n",
       "  0.05454545454545454,\n",
       "  0.05454545454545454,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.031818181818181815,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.06363636363636363,\n",
       "  0.07727272727272727,\n",
       "  0.06363636363636363,\n",
       "  0.05454545454545454,\n",
       "  0.05,\n",
       "  0.05909090909090909,\n",
       "  0.07272727272727272,\n",
       "  0.05454545454545454,\n",
       "  0.06363636363636363,\n",
       "  0.05,\n",
       "  0.031818181818181815,\n",
       "  0.031818181818181815,\n",
       "  0.031818181818181815,\n",
       "  0.031818181818181815,\n",
       "  0.031818181818181815,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.02727272727272727,\n",
       "  0.031818181818181815,\n",
       "  0.031818181818181815,\n",
       "  0.06363636363636363,\n",
       "  0.07272727272727272,\n",
       "  0.07727272727272727,\n",
       "  0.06818181818181818,\n",
       "  0.07272727272727272,\n",
       "  0.06818181818181818,\n",
       "  0.07272727272727272,\n",
       "  0.07272727272727272,\n",
       "  0.07727272727272727,\n",
       "  0.07272727272727272,\n",
       "  0.031818181818181815,\n",
       "  0.031818181818181815,\n",
       "  0.02727272727272727,\n",
       "  0.031818181818181815,\n",
       "  0.02727272727272727,\n",
       "  0.02727272727272727,\n",
       "  0.02727272727272727,\n",
       "  0.02727272727272727,\n",
       "  0.02727272727272727,\n",
       "  0.031818181818181815,\n",
       "  0.013636363636363636,\n",
       "  0.013636363636363636,\n",
       "  0.013636363636363636,\n",
       "  0.01818181818181818,\n",
       "  0.013636363636363636,\n",
       "  0.013636363636363636,\n",
       "  0.01818181818181818,\n",
       "  0.01818181818181818,\n",
       "  0.013636363636363636,\n",
       "  0.00909090909090909,\n",
       "  0.02727272727272727,\n",
       "  0.031818181818181815,\n",
       "  0.031818181818181815,\n",
       "  0.031818181818181815,\n",
       "  0.031818181818181815,\n",
       "  0.031818181818181815,\n",
       "  0.031818181818181815,\n",
       "  0.031818181818181815,\n",
       "  0.031818181818181815,\n",
       "  0.031818181818181815,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.04090909090909091,\n",
       "  0.031818181818181815,\n",
       "  0.045454545454545456,\n",
       "  0.03636363636363636,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.03636363636363636,\n",
       "  0.05,\n",
       "  0.06363636363636363,\n",
       "  0.06363636363636363,\n",
       "  0.06363636363636363,\n",
       "  0.05909090909090909,\n",
       "  0.05909090909090909,\n",
       "  0.06818181818181818,\n",
       "  0.06363636363636363,\n",
       "  0.06363636363636363,\n",
       "  0.06363636363636363,\n",
       "  0.05454545454545454,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.03636363636363636,\n",
       "  0.02727272727272727,\n",
       "  0.02727272727272727,\n",
       "  0.031818181818181815,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.03636363636363636,\n",
       "  0.02727272727272727,\n",
       "  0.03636363636363636,\n",
       "  0.04090909090909091,\n",
       "  0.031818181818181815,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.02727272727272727,\n",
       "  0.031818181818181815,\n",
       "  0.03636363636363636,\n",
       "  0.031818181818181815,\n",
       "  0.031818181818181815,\n",
       "  0.03636363636363636,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.05,\n",
       "  0.05,\n",
       "  0.05,\n",
       "  0.05,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.05,\n",
       "  0.04090909090909091],\n",
       " 'IDR+SPN+BA': [0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.08181818181818182,\n",
       "  0.06818181818181818,\n",
       "  0.05,\n",
       "  0.04090909090909091,\n",
       "  0.05454545454545454,\n",
       "  0.05909090909090909,\n",
       "  0.10909090909090909,\n",
       "  0.1,\n",
       "  0.08181818181818182,\n",
       "  0.10909090909090909,\n",
       "  0.06818181818181818,\n",
       "  0.05909090909090909,\n",
       "  0.05909090909090909,\n",
       "  0.07272727272727272,\n",
       "  0.031818181818181815,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.05,\n",
       "  0.05909090909090909,\n",
       "  0.06818181818181818,\n",
       "  0.031818181818181815,\n",
       "  0.03636363636363636,\n",
       "  0.07272727272727272,\n",
       "  0.08181818181818182,\n",
       "  0.02727272727272727,\n",
       "  0.04090909090909091,\n",
       "  0.09090909090909091,\n",
       "  0.11363636363636363,\n",
       "  0.031818181818181815,\n",
       "  0.07272727272727272,\n",
       "  0.03636363636363636,\n",
       "  0.05454545454545454,\n",
       "  0.02727272727272727,\n",
       "  0.05454545454545454,\n",
       "  0.05,\n",
       "  0.06818181818181818,\n",
       "  0.1,\n",
       "  0.12727272727272726,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.07727272727272727,\n",
       "  0.031818181818181815,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456],\n",
       " 'IDR+SPN+CA': [0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.07272727272727272,\n",
       "  0.05909090909090909,\n",
       "  0.05909090909090909,\n",
       "  0.05454545454545454,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.07727272727272727,\n",
       "  0.09090909090909091,\n",
       "  0.07272727272727272,\n",
       "  0.08181818181818182,\n",
       "  0.08181818181818182,\n",
       "  0.07727272727272727,\n",
       "  0.06363636363636363,\n",
       "  0.06363636363636363,\n",
       "  0.02727272727272727,\n",
       "  0.022727272727272728,\n",
       "  0.04090909090909091,\n",
       "  0.03636363636363636,\n",
       "  0.05454545454545454,\n",
       "  0.06818181818181818,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.07727272727272727,\n",
       "  0.08636363636363636,\n",
       "  0.031818181818181815,\n",
       "  0.031818181818181815,\n",
       "  0.08636363636363636,\n",
       "  0.1,\n",
       "  0.031818181818181815,\n",
       "  0.03636363636363636,\n",
       "  0.02727272727272727,\n",
       "  0.031818181818181815,\n",
       "  0.031818181818181815,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.045454545454545456,\n",
       "  0.08181818181818182,\n",
       "  0.08636363636363636,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.031818181818181815,\n",
       "  0.02727272727272727,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456],\n",
       " 'IDR+SPN+GC': [0.04090909090909091,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.05454545454545454,\n",
       "  0.10454545454545454,\n",
       "  0.10454545454545454,\n",
       "  0.07727272727272727,\n",
       "  0.10909090909090909,\n",
       "  0.06363636363636363,\n",
       "  0.03636363636363636,\n",
       "  0.05,\n",
       "  0.06363636363636363,\n",
       "  0.09545454545454546,\n",
       "  0.07727272727272727,\n",
       "  0.05909090909090909,\n",
       "  0.06818181818181818,\n",
       "  0.09545454545454546,\n",
       "  0.07727272727272727,\n",
       "  0.06363636363636363,\n",
       "  0.09090909090909091,\n",
       "  0.1,\n",
       "  0.08636363636363636,\n",
       "  0.08181818181818182,\n",
       "  0.06818181818181818,\n",
       "  0.10909090909090909,\n",
       "  0.07272727272727272,\n",
       "  0.08181818181818182,\n",
       "  0.09090909090909091,\n",
       "  0.07727272727272727,\n",
       "  0.06818181818181818,\n",
       "  0.07272727272727272,\n",
       "  0.07727272727272727,\n",
       "  0.02727272727272727,\n",
       "  0.031818181818181815,\n",
       "  0.01818181818181818,\n",
       "  0.022727272727272728,\n",
       "  0.05909090909090909,\n",
       "  0.045454545454545456,\n",
       "  0.03636363636363636,\n",
       "  0.05,\n",
       "  0.09545454545454546,\n",
       "  0.07272727272727272,\n",
       "  0.07272727272727272,\n",
       "  0.10454545454545454,\n",
       "  0.05,\n",
       "  0.031818181818181815,\n",
       "  0.045454545454545456,\n",
       "  0.05,\n",
       "  0.07272727272727272,\n",
       "  0.05454545454545454,\n",
       "  0.045454545454545456,\n",
       "  0.06363636363636363,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.03636363636363636,\n",
       "  0.04090909090909091,\n",
       "  0.1318181818181818,\n",
       "  0.1,\n",
       "  0.09545454545454546,\n",
       "  0.10454545454545454,\n",
       "  0.07727272727272727,\n",
       "  0.03636363636363636,\n",
       "  0.045454545454545456,\n",
       "  0.07727272727272727,\n",
       "  0.06363636363636363,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.05,\n",
       "  0.10454545454545454,\n",
       "  0.05,\n",
       "  0.05,\n",
       "  0.08636363636363636,\n",
       "  0.05909090909090909,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.05909090909090909,\n",
       "  0.11818181818181818,\n",
       "  0.1,\n",
       "  0.1,\n",
       "  0.12272727272727273,\n",
       "  0.05,\n",
       "  0.045454545454545456,\n",
       "  0.06818181818181818,\n",
       "  0.05909090909090909,\n",
       "  0.08636363636363636,\n",
       "  0.06818181818181818,\n",
       "  0.045454545454545456,\n",
       "  0.07272727272727272,\n",
       "  0.05,\n",
       "  0.05,\n",
       "  0.03636363636363636,\n",
       "  0.05909090909090909,\n",
       "  0.05454545454545454,\n",
       "  0.02727272727272727,\n",
       "  0.04090909090909091,\n",
       "  0.08636363636363636],\n",
       " 'IDR+SPN+GLF': [0.04090909090909091,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.08181818181818182,\n",
       "  0.09545454545454546,\n",
       "  0.07727272727272727,\n",
       "  0.08636363636363636,\n",
       "  0.07272727272727272,\n",
       "  0.08181818181818182,\n",
       "  0.07272727272727272,\n",
       "  0.05909090909090909,\n",
       "  0.05,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.05454545454545454,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.05454545454545454,\n",
       "  0.05454545454545454,\n",
       "  0.05,\n",
       "  0.05,\n",
       "  0.04090909090909091,\n",
       "  0.05454545454545454,\n",
       "  0.05,\n",
       "  0.05,\n",
       "  0.07727272727272727,\n",
       "  0.08181818181818182,\n",
       "  0.07272727272727272,\n",
       "  0.07727272727272727,\n",
       "  0.07272727272727272,\n",
       "  0.08181818181818182,\n",
       "  0.07727272727272727,\n",
       "  0.07272727272727272,\n",
       "  0.08636363636363636,\n",
       "  0.08181818181818182,\n",
       "  0.08181818181818182,\n",
       "  0.08181818181818182,\n",
       "  0.07272727272727272,\n",
       "  0.08181818181818182,\n",
       "  0.07272727272727272,\n",
       "  0.07727272727272727,\n",
       "  0.06818181818181818,\n",
       "  0.07272727272727272,\n",
       "  0.07272727272727272,\n",
       "  0.06818181818181818,\n",
       "  0.07727272727272727,\n",
       "  0.07727272727272727,\n",
       "  0.07727272727272727,\n",
       "  0.07727272727272727,\n",
       "  0.06818181818181818,\n",
       "  0.05454545454545454,\n",
       "  0.06363636363636363,\n",
       "  0.05454545454545454,\n",
       "  0.05909090909090909,\n",
       "  0.05909090909090909,\n",
       "  0.05454545454545454,\n",
       "  0.06363636363636363,\n",
       "  0.01818181818181818,\n",
       "  0.022727272727272728,\n",
       "  0.01818181818181818,\n",
       "  0.022727272727272728,\n",
       "  0.01818181818181818,\n",
       "  0.022727272727272728,\n",
       "  0.031818181818181815,\n",
       "  0.022727272727272728,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.02727272727272727,\n",
       "  0.03636363636363636,\n",
       "  0.031818181818181815,\n",
       "  0.031818181818181815,\n",
       "  0.03636363636363636,\n",
       "  0.07272727272727272,\n",
       "  0.06818181818181818,\n",
       "  0.07727272727272727,\n",
       "  0.09090909090909091,\n",
       "  0.08636363636363636,\n",
       "  0.08636363636363636,\n",
       "  0.08636363636363636,\n",
       "  0.07727272727272727,\n",
       "  0.04090909090909091,\n",
       "  0.05,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.03636363636363636,\n",
       "  0.04090909090909091,\n",
       "  0.031818181818181815,\n",
       "  0.06363636363636363,\n",
       "  0.06363636363636363,\n",
       "  0.05909090909090909,\n",
       "  0.07727272727272727,\n",
       "  0.07727272727272727,\n",
       "  0.09090909090909091,\n",
       "  0.08636363636363636,\n",
       "  0.1,\n",
       "  0.031818181818181815,\n",
       "  0.031818181818181815,\n",
       "  0.03636363636363636,\n",
       "  0.04090909090909091,\n",
       "  0.03636363636363636,\n",
       "  0.02727272727272727,\n",
       "  0.031818181818181815,\n",
       "  0.02727272727272727,\n",
       "  0.10454545454545454,\n",
       "  0.08636363636363636,\n",
       "  0.08636363636363636,\n",
       "  0.09545454545454546,\n",
       "  0.09545454545454546,\n",
       "  0.09090909090909091,\n",
       "  0.08636363636363636,\n",
       "  0.08181818181818182,\n",
       "  0.031818181818181815,\n",
       "  0.031818181818181815,\n",
       "  0.031818181818181815,\n",
       "  0.03636363636363636,\n",
       "  0.031818181818181815,\n",
       "  0.03636363636363636,\n",
       "  0.031818181818181815,\n",
       "  0.03636363636363636,\n",
       "  0.05,\n",
       "  0.05454545454545454,\n",
       "  0.05,\n",
       "  0.04090909090909091,\n",
       "  0.03636363636363636,\n",
       "  0.045454545454545456,\n",
       "  0.03636363636363636,\n",
       "  0.04090909090909091,\n",
       "  0.05,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.05454545454545454,\n",
       "  0.05454545454545454,\n",
       "  0.045454545454545456,\n",
       "  0.031818181818181815,\n",
       "  0.022727272727272728,\n",
       "  0.031818181818181815,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.031818181818181815,\n",
       "  0.03636363636363636,\n",
       "  0.11363636363636363,\n",
       "  0.10454545454545454,\n",
       "  0.09545454545454546,\n",
       "  0.10454545454545454,\n",
       "  0.09090909090909091,\n",
       "  0.1,\n",
       "  0.09090909090909091,\n",
       "  0.08181818181818182,\n",
       "  0.05909090909090909,\n",
       "  0.05454545454545454,\n",
       "  0.05,\n",
       "  0.05454545454545454,\n",
       "  0.04090909090909091,\n",
       "  0.05909090909090909,\n",
       "  0.05,\n",
       "  0.05909090909090909,\n",
       "  0.03636363636363636,\n",
       "  0.031818181818181815,\n",
       "  0.04090909090909091,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.045454545454545456,\n",
       "  0.05,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.031818181818181815,\n",
       "  0.03636363636363636,\n",
       "  0.045454545454545456,\n",
       "  0.03636363636363636,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.05,\n",
       "  0.045454545454545456],\n",
       " 'IDR+SPN+IS': [0.05909090909090909,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.01818181818181818,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.10454545454545454,\n",
       "  0.07272727272727272,\n",
       "  0.07272727272727272,\n",
       "  0.07272727272727272,\n",
       "  0.08181818181818182,\n",
       "  0.08181818181818182,\n",
       "  0.04090909090909091,\n",
       "  0.06363636363636363,\n",
       "  0.07272727272727272,\n",
       "  0.06363636363636363,\n",
       "  0.05454545454545454,\n",
       "  0.045454545454545456,\n",
       "  0.07272727272727272,\n",
       "  0.06818181818181818,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.08181818181818182,\n",
       "  0.07727272727272727,\n",
       "  0.09545454545454546,\n",
       "  0.07272727272727272,\n",
       "  0.07272727272727272,\n",
       "  0.07727272727272727,\n",
       "  0.07727272727272727,\n",
       "  0.05909090909090909,\n",
       "  0.08636363636363636,\n",
       "  0.07727272727272727,\n",
       "  0.07727272727272727,\n",
       "  0.07727272727272727,\n",
       "  0.09545454545454546,\n",
       "  0.1,\n",
       "  0.08181818181818182,\n",
       "  0.09090909090909091,\n",
       "  0.07727272727272727,\n",
       "  0.07727272727272727,\n",
       "  0.05909090909090909,\n",
       "  0.06818181818181818,\n",
       "  0.02727272727272727,\n",
       "  0.07272727272727272,\n",
       "  0.05909090909090909,\n",
       "  0.06818181818181818,\n",
       "  0.03636363636363636,\n",
       "  0.02727272727272727,\n",
       "  0.031818181818181815,\n",
       "  0.031818181818181815,\n",
       "  0.031818181818181815,\n",
       "  0.031818181818181815,\n",
       "  0.05454545454545454,\n",
       "  0.05454545454545454,\n",
       "  0.05,\n",
       "  0.04090909090909091,\n",
       "  0.05,\n",
       "  0.045454545454545456,\n",
       "  0.07727272727272727,\n",
       "  0.07272727272727272,\n",
       "  0.09090909090909091,\n",
       "  0.06363636363636363,\n",
       "  0.06363636363636363,\n",
       "  0.06818181818181818,\n",
       "  0.04090909090909091,\n",
       "  0.05,\n",
       "  0.03636363636363636,\n",
       "  0.05454545454545454,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.05909090909090909,\n",
       "  0.08636363636363636,\n",
       "  0.08181818181818182,\n",
       "  0.08636363636363636,\n",
       "  0.09545454545454546,\n",
       "  0.06818181818181818,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.02727272727272727,\n",
       "  0.02727272727272727,\n",
       "  0.03636363636363636,\n",
       "  0.031818181818181815,\n",
       "  0.07727272727272727,\n",
       "  0.08636363636363636,\n",
       "  0.09545454545454546,\n",
       "  0.1,\n",
       "  0.08636363636363636,\n",
       "  0.07727272727272727,\n",
       "  0.05454545454545454,\n",
       "  0.04090909090909091,\n",
       "  0.05,\n",
       "  0.08636363636363636,\n",
       "  0.04090909090909091,\n",
       "  0.05454545454545454,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.02727272727272727,\n",
       "  0.07727272727272727,\n",
       "  0.04090909090909091,\n",
       "  0.07272727272727272,\n",
       "  0.03636363636363636,\n",
       "  0.07272727272727272,\n",
       "  0.045454545454545456,\n",
       "  0.05454545454545454,\n",
       "  0.05454545454545454,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.11363636363636363,\n",
       "  0.10909090909090909,\n",
       "  0.10454545454545454,\n",
       "  0.10454545454545454,\n",
       "  0.07727272727272727,\n",
       "  0.07727272727272727,\n",
       "  0.06363636363636363,\n",
       "  0.05454545454545454,\n",
       "  0.05454545454545454,\n",
       "  0.05454545454545454,\n",
       "  0.05909090909090909,\n",
       "  0.04090909090909091,\n",
       "  0.05454545454545454,\n",
       "  0.05,\n",
       "  0.05,\n",
       "  0.045454545454545456,\n",
       "  0.022727272727272728,\n",
       "  0.022727272727272728,\n",
       "  0.03636363636363636,\n",
       "  0.031818181818181815,\n",
       "  0.022727272727272728,\n",
       "  0.03636363636363636,\n",
       "  0.04090909090909091,\n",
       "  0.03636363636363636,\n",
       "  0.05454545454545454,\n",
       "  0.03636363636363636,\n",
       "  0.05,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.031818181818181815],\n",
       " 'IDR+SPN+JC': [0.03636363636363636,\n",
       "  0.07272727272727272,\n",
       "  0.05909090909090909,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.03636363636363636,\n",
       "  0.08636363636363636,\n",
       "  0.09545454545454546,\n",
       "  0.09090909090909091,\n",
       "  0.10909090909090909,\n",
       "  0.10454545454545454,\n",
       "  0.1,\n",
       "  0.08636363636363636,\n",
       "  0.09090909090909091,\n",
       "  0.05,\n",
       "  0.06818181818181818,\n",
       "  0.05,\n",
       "  0.05454545454545454,\n",
       "  0.05909090909090909,\n",
       "  0.05454545454545454,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.05909090909090909,\n",
       "  0.08636363636363636,\n",
       "  0.07727272727272727,\n",
       "  0.06363636363636363,\n",
       "  0.07272727272727272,\n",
       "  0.06818181818181818,\n",
       "  0.06818181818181818,\n",
       "  0.06363636363636363,\n",
       "  0.08636363636363636,\n",
       "  0.11363636363636363,\n",
       "  0.11363636363636363,\n",
       "  0.08636363636363636,\n",
       "  0.09090909090909091,\n",
       "  0.08636363636363636,\n",
       "  0.1,\n",
       "  0.09090909090909091,\n",
       "  0.08181818181818182,\n",
       "  0.1,\n",
       "  0.09090909090909091,\n",
       "  0.08181818181818182,\n",
       "  0.1,\n",
       "  0.09090909090909091,\n",
       "  0.09090909090909091,\n",
       "  0.09545454545454546,\n",
       "  0.06818181818181818,\n",
       "  0.07272727272727272,\n",
       "  0.07727272727272727,\n",
       "  0.05909090909090909,\n",
       "  0.08636363636363636,\n",
       "  0.06818181818181818,\n",
       "  0.06818181818181818,\n",
       "  0.07272727272727272,\n",
       "  0.06363636363636363,\n",
       "  0.08181818181818182,\n",
       "  0.06363636363636363,\n",
       "  0.06818181818181818,\n",
       "  0.05454545454545454,\n",
       "  0.06818181818181818,\n",
       "  0.05909090909090909,\n",
       "  0.05,\n",
       "  0.02727272727272727,\n",
       "  0.04090909090909091,\n",
       "  0.022727272727272728,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.01818181818181818,\n",
       "  0.02727272727272727,\n",
       "  0.022727272727272728,\n",
       "  0.04090909090909091,\n",
       "  0.08181818181818182,\n",
       "  0.06363636363636363,\n",
       "  0.04090909090909091,\n",
       "  0.05,\n",
       "  0.045454545454545456,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.09090909090909091,\n",
       "  0.1,\n",
       "  0.10909090909090909,\n",
       "  0.09090909090909091,\n",
       "  0.09090909090909091,\n",
       "  0.08636363636363636,\n",
       "  0.09090909090909091,\n",
       "  0.07727272727272727,\n",
       "  0.03636363636363636,\n",
       "  0.05,\n",
       "  0.05909090909090909,\n",
       "  0.03636363636363636,\n",
       "  0.05909090909090909,\n",
       "  0.05454545454545454,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.07727272727272727,\n",
       "  0.07727272727272727,\n",
       "  0.08636363636363636,\n",
       "  0.08181818181818182,\n",
       "  0.07727272727272727,\n",
       "  0.06363636363636363,\n",
       "  0.06818181818181818,\n",
       "  0.07727272727272727,\n",
       "  0.03636363636363636,\n",
       "  0.05,\n",
       "  0.05454545454545454,\n",
       "  0.04090909090909091,\n",
       "  0.03636363636363636,\n",
       "  0.031818181818181815,\n",
       "  0.04090909090909091,\n",
       "  0.03636363636363636,\n",
       "  0.09545454545454546,\n",
       "  0.12727272727272726,\n",
       "  0.1318181818181818,\n",
       "  0.10454545454545454,\n",
       "  0.08636363636363636,\n",
       "  0.09090909090909091,\n",
       "  0.09090909090909091,\n",
       "  0.09090909090909091,\n",
       "  0.05,\n",
       "  0.07727272727272727,\n",
       "  0.1,\n",
       "  0.06818181818181818,\n",
       "  0.05454545454545454,\n",
       "  0.05,\n",
       "  0.05,\n",
       "  0.05909090909090909,\n",
       "  0.03636363636363636,\n",
       "  0.07272727272727272,\n",
       "  0.05454545454545454,\n",
       "  0.06363636363636363,\n",
       "  0.05454545454545454,\n",
       "  0.04090909090909091,\n",
       "  0.06363636363636363,\n",
       "  0.05,\n",
       "  0.04090909090909091,\n",
       "  0.10454545454545454,\n",
       "  0.09090909090909091,\n",
       "  0.07727272727272727,\n",
       "  0.07272727272727272,\n",
       "  0.05,\n",
       "  0.04090909090909091,\n",
       "  0.05,\n",
       "  0.045454545454545456,\n",
       "  0.06818181818181818,\n",
       "  0.06363636363636363,\n",
       "  0.05454545454545454,\n",
       "  0.05,\n",
       "  0.045454545454545456,\n",
       "  0.05,\n",
       "  0.05,\n",
       "  0.08636363636363636,\n",
       "  0.1318181818181818,\n",
       "  0.12272727272727273,\n",
       "  0.11363636363636363,\n",
       "  0.11363636363636363,\n",
       "  0.09090909090909091,\n",
       "  0.09545454545454546,\n",
       "  0.09545454545454546,\n",
       "  0.04090909090909091,\n",
       "  0.05909090909090909,\n",
       "  0.05,\n",
       "  0.031818181818181815,\n",
       "  0.06363636363636363,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.05,\n",
       "  0.045454545454545456,\n",
       "  0.06818181818181818,\n",
       "  0.07272727272727272,\n",
       "  0.045454545454545456,\n",
       "  0.08181818181818182,\n",
       "  0.045454545454545456,\n",
       "  0.05,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.05909090909090909,\n",
       "  0.06818181818181818,\n",
       "  0.06363636363636363,\n",
       "  0.05,\n",
       "  0.05,\n",
       "  0.045454545454545456,\n",
       "  0.05,\n",
       "  0.045454545454545456,\n",
       "  0.06818181818181818,\n",
       "  0.05909090909090909,\n",
       "  0.06818181818181818,\n",
       "  0.06363636363636363,\n",
       "  0.06818181818181818,\n",
       "  0.06818181818181818,\n",
       "  0.05],\n",
       " 'IDR+SPN+SN': [0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.031818181818181815,\n",
       "  0.04090909090909091,\n",
       "  0.05,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.05454545454545454,\n",
       "  0.08181818181818182,\n",
       "  0.08636363636363636,\n",
       "  0.07727272727272727,\n",
       "  0.09090909090909091,\n",
       "  0.09545454545454546,\n",
       "  0.08181818181818182,\n",
       "  0.07727272727272727,\n",
       "  0.10909090909090909,\n",
       "  0.07727272727272727,\n",
       "  0.09090909090909091,\n",
       "  0.05,\n",
       "  0.06363636363636363,\n",
       "  0.04090909090909091,\n",
       "  0.06363636363636363,\n",
       "  0.05,\n",
       "  0.05909090909090909,\n",
       "  0.05454545454545454,\n",
       "  0.05909090909090909,\n",
       "  0.05,\n",
       "  0.06818181818181818,\n",
       "  0.05,\n",
       "  0.05,\n",
       "  0.06818181818181818,\n",
       "  0.05454545454545454,\n",
       "  0.05,\n",
       "  0.05454545454545454,\n",
       "  0.05909090909090909,\n",
       "  0.04090909090909091,\n",
       "  0.06363636363636363,\n",
       "  0.05909090909090909,\n",
       "  0.08636363636363636,\n",
       "  0.08636363636363636,\n",
       "  0.09545454545454546,\n",
       "  0.09090909090909091,\n",
       "  0.08181818181818182,\n",
       "  0.07727272727272727,\n",
       "  0.1,\n",
       "  0.1,\n",
       "  0.08636363636363636,\n",
       "  0.11363636363636363,\n",
       "  0.08636363636363636,\n",
       "  0.1,\n",
       "  0.08636363636363636,\n",
       "  0.10454545454545454,\n",
       "  0.09090909090909091,\n",
       "  0.08181818181818182,\n",
       "  0.09090909090909091,\n",
       "  0.09090909090909091,\n",
       "  0.1,\n",
       "  0.09090909090909091,\n",
       "  0.08181818181818182,\n",
       "  0.07727272727272727,\n",
       "  0.07727272727272727,\n",
       "  0.07727272727272727,\n",
       "  0.06818181818181818,\n",
       "  0.06818181818181818,\n",
       "  0.07272727272727272,\n",
       "  0.07272727272727272,\n",
       "  0.08181818181818182,\n",
       "  0.06818181818181818,\n",
       "  0.05909090909090909,\n",
       "  0.05909090909090909,\n",
       "  0.05454545454545454,\n",
       "  0.05909090909090909,\n",
       "  0.05,\n",
       "  0.06363636363636363,\n",
       "  0.08181818181818182,\n",
       "  0.06818181818181818,\n",
       "  0.05454545454545454,\n",
       "  0.05909090909090909,\n",
       "  0.02727272727272727,\n",
       "  0.02727272727272727,\n",
       "  0.022727272727272728,\n",
       "  0.02727272727272727,\n",
       "  0.031818181818181815,\n",
       "  0.02727272727272727,\n",
       "  0.031818181818181815,\n",
       "  0.04090909090909091,\n",
       "  0.02727272727272727,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.05909090909090909,\n",
       "  0.05,\n",
       "  0.05454545454545454,\n",
       "  0.031818181818181815,\n",
       "  0.03636363636363636,\n",
       "  0.05909090909090909,\n",
       "  0.05,\n",
       "  0.05,\n",
       "  0.04090909090909091,\n",
       "  0.08181818181818182,\n",
       "  0.07727272727272727,\n",
       "  0.08636363636363636,\n",
       "  0.07727272727272727,\n",
       "  0.07272727272727272,\n",
       "  0.08181818181818182,\n",
       "  0.08181818181818182,\n",
       "  0.05909090909090909,\n",
       "  0.08181818181818182,\n",
       "  0.07727272727272727,\n",
       "  0.03636363636363636,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.03636363636363636,\n",
       "  0.05,\n",
       "  0.05454545454545454,\n",
       "  0.045454545454545456,\n",
       "  0.05,\n",
       "  0.04090909090909091,\n",
       "  0.06818181818181818,\n",
       "  0.06818181818181818,\n",
       "  0.06363636363636363,\n",
       "  0.07727272727272727,\n",
       "  0.07272727272727272,\n",
       "  0.06818181818181818,\n",
       "  0.09545454545454546,\n",
       "  0.07272727272727272,\n",
       "  0.07727272727272727,\n",
       "  0.05,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.03636363636363636,\n",
       "  0.04090909090909091,\n",
       "  0.031818181818181815,\n",
       "  0.02727272727272727,\n",
       "  0.031818181818181815,\n",
       "  0.04090909090909091,\n",
       "  0.08181818181818182,\n",
       "  0.09090909090909091,\n",
       "  0.07727272727272727,\n",
       "  0.10909090909090909,\n",
       "  0.10909090909090909,\n",
       "  0.1,\n",
       "  0.09545454545454546,\n",
       "  0.11818181818181818,\n",
       "  0.11818181818181818,\n",
       "  0.12272727272727273,\n",
       "  0.045454545454545456,\n",
       "  0.05454545454545454,\n",
       "  0.045454545454545456,\n",
       "  0.06818181818181818,\n",
       "  0.07727272727272727,\n",
       "  0.09090909090909091,\n",
       "  0.07272727272727272,\n",
       "  0.06818181818181818,\n",
       "  0.08636363636363636,\n",
       "  0.07272727272727272,\n",
       "  0.031818181818181815,\n",
       "  0.02727272727272727,\n",
       "  0.05454545454545454,\n",
       "  0.05,\n",
       "  0.03636363636363636,\n",
       "  0.05454545454545454,\n",
       "  0.031818181818181815,\n",
       "  0.05,\n",
       "  0.05454545454545454,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.05454545454545454,\n",
       "  0.05454545454545454,\n",
       "  0.045454545454545456,\n",
       "  0.06363636363636363,\n",
       "  0.04090909090909091,\n",
       "  0.05454545454545454,\n",
       "  0.04090909090909091,\n",
       "  0.05909090909090909,\n",
       "  0.022727272727272728,\n",
       "  0.05,\n",
       "  0.07727272727272727,\n",
       "  0.05909090909090909,\n",
       "  0.05,\n",
       "  0.07272727272727272,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.05909090909090909,\n",
       "  0.05,\n",
       "  0.08636363636363636,\n",
       "  0.07727272727272727,\n",
       "  0.09090909090909091,\n",
       "  0.08636363636363636,\n",
       "  0.11363636363636363,\n",
       "  0.09090909090909091,\n",
       "  0.10454545454545454,\n",
       "  0.12727272727272726,\n",
       "  0.12272727272727273,\n",
       "  0.10454545454545454,\n",
       "  0.06363636363636363,\n",
       "  0.05909090909090909,\n",
       "  0.05,\n",
       "  0.03636363636363636,\n",
       "  0.05,\n",
       "  0.06818181818181818,\n",
       "  0.06363636363636363,\n",
       "  0.045454545454545456,\n",
       "  0.05,\n",
       "  0.03636363636363636,\n",
       "  0.04090909090909091,\n",
       "  0.05,\n",
       "  0.03636363636363636,\n",
       "  0.05909090909090909,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.05,\n",
       "  0.045454545454545456,\n",
       "  0.031818181818181815,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.05,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.05,\n",
       "  0.02727272727272727,\n",
       "  0.05454545454545454,\n",
       "  0.05,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.02727272727272727,\n",
       "  0.05454545454545454,\n",
       "  0.03636363636363636,\n",
       "  0.05454545454545454,\n",
       "  0.03636363636363636,\n",
       "  0.04090909090909091,\n",
       "  0.05],\n",
       " 'IDR+AWGN+SPN': [0.03636363636363636,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.05,\n",
       "  0.04090909090909091,\n",
       "  0.05,\n",
       "  0.04090909090909091,\n",
       "  0.03636363636363636,\n",
       "  0.05,\n",
       "  0.06818181818181818,\n",
       "  0.07727272727272727,\n",
       "  0.07272727272727272,\n",
       "  0.05909090909090909,\n",
       "  0.05454545454545454,\n",
       "  0.06818181818181818,\n",
       "  0.08636363636363636,\n",
       "  0.05454545454545454,\n",
       "  0.05909090909090909,\n",
       "  0.07272727272727272,\n",
       "  0.05909090909090909,\n",
       "  0.06818181818181818,\n",
       "  0.06363636363636363,\n",
       "  0.05909090909090909,\n",
       "  0.06363636363636363,\n",
       "  0.07727272727272727,\n",
       "  0.07272727272727272,\n",
       "  0.06363636363636363,\n",
       "  0.07727272727272727,\n",
       "  0.07272727272727272,\n",
       "  0.02727272727272727,\n",
       "  0.03636363636363636,\n",
       "  0.04090909090909091,\n",
       "  0.031818181818181815,\n",
       "  0.04090909090909091,\n",
       "  0.031818181818181815,\n",
       "  0.03636363636363636,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.07727272727272727,\n",
       "  0.09090909090909091,\n",
       "  0.07272727272727272,\n",
       "  0.08636363636363636,\n",
       "  0.06363636363636363,\n",
       "  0.06818181818181818,\n",
       "  0.08636363636363636,\n",
       "  0.08181818181818182,\n",
       "  0.09090909090909091,\n",
       "  0.07727272727272727,\n",
       "  0.06363636363636363,\n",
       "  0.05454545454545454,\n",
       "  0.07272727272727272,\n",
       "  0.06818181818181818,\n",
       "  0.05909090909090909,\n",
       "  0.07272727272727272,\n",
       "  0.05909090909090909,\n",
       "  0.08181818181818182,\n",
       "  0.07272727272727272,\n",
       "  0.08636363636363636,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.05,\n",
       "  0.05909090909090909,\n",
       "  0.04090909090909091,\n",
       "  0.05454545454545454,\n",
       "  0.05,\n",
       "  0.05909090909090909,\n",
       "  0.045454545454545456,\n",
       "  0.05,\n",
       "  0.05,\n",
       "  0.05,\n",
       "  0.045454545454545456,\n",
       "  0.05454545454545454,\n",
       "  0.05454545454545454,\n",
       "  0.05,\n",
       "  0.05,\n",
       "  0.01818181818181818,\n",
       "  0.01818181818181818,\n",
       "  0.031818181818181815,\n",
       "  0.01818181818181818,\n",
       "  0.02727272727272727,\n",
       "  0.02727272727272727,\n",
       "  0.022727272727272728,\n",
       "  0.022727272727272728,\n",
       "  0.02727272727272727,\n",
       "  0.031818181818181815,\n",
       "  0.05,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.05454545454545454,\n",
       "  0.045454545454545456,\n",
       "  0.05,\n",
       "  0.05454545454545454,\n",
       "  0.06363636363636363,\n",
       "  0.05454545454545454,\n",
       "  0.06363636363636363,\n",
       "  0.08181818181818182,\n",
       "  0.08181818181818182,\n",
       "  0.07727272727272727,\n",
       "  0.07272727272727272,\n",
       "  0.08636363636363636,\n",
       "  0.08636363636363636,\n",
       "  0.07727272727272727,\n",
       "  0.08181818181818182,\n",
       "  0.09090909090909091,\n",
       "  0.10454545454545454,\n",
       "  0.022727272727272728,\n",
       "  0.022727272727272728,\n",
       "  0.031818181818181815,\n",
       "  0.031818181818181815,\n",
       "  0.01818181818181818,\n",
       "  0.022727272727272728,\n",
       "  0.02727272727272727,\n",
       "  0.03636363636363636,\n",
       "  0.031818181818181815,\n",
       "  0.045454545454545456,\n",
       "  0.05909090909090909,\n",
       "  0.06818181818181818,\n",
       "  0.06818181818181818,\n",
       "  0.06363636363636363,\n",
       "  0.07727272727272727,\n",
       "  0.07272727272727272,\n",
       "  0.06363636363636363,\n",
       "  0.06818181818181818,\n",
       "  0.08636363636363636,\n",
       "  0.05909090909090909,\n",
       "  0.031818181818181815,\n",
       "  0.03636363636363636,\n",
       "  0.031818181818181815,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.022727272727272728,\n",
       "  0.02727272727272727,\n",
       "  0.022727272727272728,\n",
       "  0.05,\n",
       "  0.10454545454545454,\n",
       "  0.08636363636363636,\n",
       "  0.08181818181818182,\n",
       "  0.08636363636363636,\n",
       "  0.08181818181818182,\n",
       "  0.09090909090909091,\n",
       "  0.09090909090909091,\n",
       "  0.08636363636363636,\n",
       "  0.09090909090909091,\n",
       "  0.08636363636363636,\n",
       "  0.09090909090909091,\n",
       "  0.1,\n",
       "  0.11363636363636363,\n",
       "  0.11818181818181818,\n",
       "  0.09090909090909091,\n",
       "  0.10909090909090909,\n",
       "  0.1,\n",
       "  0.09090909090909091,\n",
       "  0.10454545454545454,\n",
       "  0.12272727272727273,\n",
       "  0.05,\n",
       "  0.04090909090909091,\n",
       "  0.04090909090909091,\n",
       "  0.05,\n",
       "  0.05454545454545454,\n",
       "  0.045454545454545456,\n",
       "  0.04090909090909091,\n",
       "  0.05454545454545454,\n",
       "  0.05909090909090909,\n",
       "  0.045454545454545456,\n",
       "  0.05,\n",
       "  0.045454545454545456,\n",
       "  0.031818181818181815,\n",
       "  0.04090909090909091,\n",
       "  0.05,\n",
       "  0.05909090909090909,\n",
       "  0.045454545454545456,\n",
       "  0.05454545454545454,\n",
       "  0.04090909090909091,\n",
       "  0.05454545454545454,\n",
       "  0.04090909090909091,\n",
       "  0.05,\n",
       "  0.045454545454545456,\n",
       "  0.05,\n",
       "  0.045454545454545456,\n",
       "  0.05454545454545454,\n",
       "  0.03636363636363636,\n",
       "  0.06363636363636363,\n",
       "  0.05454545454545454,\n",
       "  0.05909090909090909,\n",
       "  0.02727272727272727,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.05909090909090909,\n",
       "  0.04090909090909091,\n",
       "  0.06818181818181818,\n",
       "  0.06818181818181818,\n",
       "  0.06363636363636363,\n",
       "  0.05454545454545454,\n",
       "  0.05,\n",
       "  0.045454545454545456,\n",
       "  0.05,\n",
       "  0.05,\n",
       "  0.05909090909090909,\n",
       "  0.07272727272727272,\n",
       "  0.06818181818181818,\n",
       "  0.05454545454545454,\n",
       "  0.06363636363636363,\n",
       "  0.06363636363636363,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.045454545454545456,\n",
       "  0.05,\n",
       "  0.03636363636363636,\n",
       "  0.05,\n",
       "  0.05,\n",
       "  0.045454545454545456,\n",
       "  0.03636363636363636,\n",
       "  0.03636363636363636,\n",
       "  0.022727272727272728,\n",
       "  0.01818181818181818,\n",
       "  0.022727272727272728,\n",
       "  0.01818181818181818,\n",
       "  0.013636363636363636,\n",
       "  0.02727272727272727,\n",
       "  0.01818181818181818,\n",
       "  0.013636363636363636,\n",
       "  0.04090909090909091,\n",
       "  0.03636363636363636,\n",
       "  0.031818181818181815,\n",
       "  0.03636363636363636,\n",
       "  0.022727272727272728,\n",
       "  0.031818181818181815,\n",
       "  0.03636363636363636,\n",
       "  0.02727272727272727,\n",
       "  0.04090909090909091,\n",
       "  0.05,\n",
       "  0.045454545454545456,\n",
       "  0.05909090909090909]}"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# dis_different_dir(\"../new_data/different_image/\",200,\"./混合攻击结果_1/四元数(Ycrcb,显著图)版本_环形分区结果\")\n",
    "dir_dis_similar_dir(\"../new_data/multiple_attack_1/\",200,\"./混合攻击结果_1/四元数(Ycrcb,显著图)版本_环形分区结果\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "id": "63376f9b-88fe-46fb-a47e-d8d426e12f1a",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-04-11T10:03:16.298920Z",
     "iopub.status.busy": "2024-04-11T10:03:16.298670Z",
     "iopub.status.idle": "2024-04-11T10:05:00.138194Z",
     "shell.execute_reply": "2024-04-11T10:05:00.136805Z",
     "shell.execute_reply.started": "2024-04-11T10:03:16.298896Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "./混合攻击结果_1/四元数(Ycrcb,显著图)版本_环形分区结果/different_image_result_1.xlsx\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/tmp/ipykernel_1128083/3891246627.py:260: FutureWarning: The behavior of array concatenation with empty entries is deprecated. In a future version, this will no longer exclude empty items when determining the result dtype. To retain the old behavior, exclude the empty entries before the concat operation.\n",
      "  data_different = pd.concat((data_different,temp),axis=0)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "./混合攻击结果_1/四元数(Ycrcb,显著图)版本_环形分区结果/different_image_result_2.xlsx\n",
      "./混合攻击结果_1/四元数(Ycrcb,显著图)版本_环形分区结果/different_image_result_3.xlsx\n",
      "./混合攻击结果_1/四元数(Ycrcb,显著图)版本_环形分区结果/different_image_result_4.xlsx\n",
      "./混合攻击结果_1/四元数(Ycrcb,显著图)版本_环形分区结果/different_image_result_5.xlsx\n",
      "./混合攻击结果_1/四元数(Ycrcb,显著图)版本_环形分区结果/different_image_result_6.xlsx\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/tmp/ipykernel_1128083/3891246627.py:264: FutureWarning: The behavior of array concatenation with empty entries is deprecated. In a future version, this will no longer exclude empty items when determining the result dtype. To retain the old behavior, exclude the empty entries before the concat operation.\n",
      "  similar_image_result_path_total= pd.concat((similar_image_result_path_total,data_similar),axis=0)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "IDR+AWGN+BA.xlsx和不同图片的auc值：0.9999997065443208\n",
      "IDR+AWGN+CA.xlsx和不同图片的auc值：0.9999997198832153\n",
      "IDR+AWGN+GC.xlsx和不同图片的auc值：0.9999995817303794\n",
      "IDR+AWGN+GLF.xlsx和不同图片的auc值：0.9999998523193823\n",
      "IDR+AWGN+IS.xlsx和不同图片的auc值：0.9999998107147351\n",
      "IDR+AWGN+JC.xlsx和不同图片的auc值：0.9999996774845864\n",
      "IDR+AWGN+SN.xlsx和不同图片的auc值：0.9999996874887572\n",
      "IDR+AWGN+SPN.xlsx和不同图片的auc值：0.9999998376465983\n",
      "IDR+SPN+AWGN.xlsx和不同图片的auc值：0.999999938259974\n",
      "IDR+SPN+BA.xlsx和不同图片的auc值：0.9999996703387499\n",
      "IDR+SPN+CA.xlsx和不同图片的auc值：0.9999999104388512\n",
      "IDR+SPN+GC.xlsx和不同图片的auc值：0.9999995817303794\n",
      "IDR+SPN+GLF.xlsx和不同图片的auc值：0.9999998523193823\n",
      "IDR+SPN+IS.xlsx和不同图片的auc值：0.9999998107147351\n",
      "IDR+SPN+JC.xlsx和不同图片的auc值：0.9999996346095684\n",
      "IDR+SPN+SN.xlsx和不同图片的auc值：0.999999727886552\n",
      "所有相同图片和不同图片 的auc值：0.999999764435123\n"
     ]
    }
   ],
   "source": [
    "auc_analysis(\"./混合攻击结果_1/四元数(Ycrcb,显著图)版本_环形分区结果\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "99da5010-fe2e-44de-adda-c860949a095e",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-04-11T05:02:55.791521Z",
     "iopub.status.busy": "2024-04-11T05:02:55.790921Z",
     "iopub.status.idle": "2024-04-11T05:02:55.824275Z",
     "shell.execute_reply": "2024-04-11T05:02:55.822974Z",
     "shell.execute_reply.started": "2024-04-11T05:02:55.791495Z"
    }
   },
   "outputs": [
    {
     "ename": "FileNotFoundError",
     "evalue": "[Errno 2] No such file or directory: './混合攻击结果/四元数(Ycrcb,颜色向量角)版本_环形分区结果'",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mFileNotFoundError\u001b[0m                         Traceback (most recent call last)",
      "Cell \u001b[0;32mIn[36], line 2\u001b[0m\n\u001b[1;32m      1\u001b[0m \u001b[38;5;66;03m# stat_analysis(\"./结果/纯四元数_环形分区结果/\")\u001b[39;00m\n\u001b[0;32m----> 2\u001b[0m \u001b[43mauc_analysis\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43m./混合攻击结果/四元数(Ycrcb,颜色向量角)版本_环形分区结果\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\n",
      "Cell \u001b[0;32mIn[30], line 256\u001b[0m, in \u001b[0;36mauc_analysis\u001b[0;34m(dir_path)\u001b[0m\n\u001b[1;32m    254\u001b[0m similar_image_result_path \u001b[38;5;241m=\u001b[39m os\u001b[38;5;241m.\u001b[39mpath\u001b[38;5;241m.\u001b[39mjoin(dir_path,\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124msimilar_image_result\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m    255\u001b[0m data_different \u001b[38;5;241m=\u001b[39mpd\u001b[38;5;241m.\u001b[39mSeries()\n\u001b[0;32m--> 256\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m i \u001b[38;5;129;01min\u001b[39;00m \u001b[43mos\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mlistdir\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdir_path\u001b[49m\u001b[43m)\u001b[49m:\n\u001b[1;32m    257\u001b[0m     \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m os\u001b[38;5;241m.\u001b[39mpath\u001b[38;5;241m.\u001b[39misdir(os\u001b[38;5;241m.\u001b[39mpath\u001b[38;5;241m.\u001b[39mjoin(dir_path,i)):\n\u001b[1;32m    258\u001b[0m         \u001b[38;5;28mprint\u001b[39m(os\u001b[38;5;241m.\u001b[39mpath\u001b[38;5;241m.\u001b[39mjoin(dir_path,i))\n",
      "\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: './混合攻击结果/四元数(Ycrcb,颜色向量角)版本_环形分区结果'"
     ]
    }
   ],
   "source": [
    "# stat_analysis(\"./结果/纯四元数_环形分区结果/\")\n",
    "auc_analysis(\"./混合攻击结果/四元数(Ycrcb,颜色向量角)版本_环形分区结果\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "id": "b4f69a59-0e1d-441f-9ae6-cc2e8bdd8bee",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-04-11T06:24:47.231950Z",
     "iopub.status.busy": "2024-04-11T06:24:47.230726Z",
     "iopub.status.idle": "2024-04-11T06:26:33.283731Z",
     "shell.execute_reply": "2024-04-11T06:26:33.282606Z",
     "shell.execute_reply.started": "2024-04-11T06:24:47.231883Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "./混合攻击结果_2/四元数(Ycrcb,颜色向量角,255)版本_环形分区结果/different_image_result_1.xlsx\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/tmp/ipykernel_1128083/3128126904.py:260: FutureWarning: The behavior of array concatenation with empty entries is deprecated. In a future version, this will no longer exclude empty items when determining the result dtype. To retain the old behavior, exclude the empty entries before the concat operation.\n",
      "  data_different = pd.concat((data_different,temp),axis=0)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "./混合攻击结果_2/四元数(Ycrcb,颜色向量角,255)版本_环形分区结果/different_image_result_2.xlsx\n",
      "./混合攻击结果_2/四元数(Ycrcb,颜色向量角,255)版本_环形分区结果/different_image_result_3.xlsx\n",
      "./混合攻击结果_2/四元数(Ycrcb,颜色向量角,255)版本_环形分区结果/different_image_result_4.xlsx\n",
      "./混合攻击结果_2/四元数(Ycrcb,颜色向量角,255)版本_环形分区结果/different_image_result_5.xlsx\n",
      "./混合攻击结果_2/四元数(Ycrcb,颜色向量角,255)版本_环形分区结果/different_image_result_6.xlsx\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/tmp/ipykernel_1128083/3128126904.py:264: FutureWarning: The behavior of array concatenation with empty entries is deprecated. In a future version, this will no longer exclude empty items when determining the result dtype. To retain the old behavior, exclude the empty entries before the concat operation.\n",
      "  similar_image_result_path_total= pd.concat((similar_image_result_path_total,data_similar),axis=0)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "IDR+AWGN+GC.xlsx和不同图片的auc值：0.9999996045970556\n",
      "IDR+AWGN+SN.xlsx和不同图片的auc值：0.9999998292621504\n",
      "IDR+SPN+CA.xlsx和不同图片的auc值：0.9999999352110838\n",
      "IDR+SPN+JC.xlsx和不同图片的auc值：0.9999996207942847\n",
      "IDR+AWGN+GLF.xlsx和不同图片的auc值：0.9999999399749746\n",
      "IDR+SPN+GC.xlsx和不同图片的auc值：0.9999996045970556\n",
      "IDR+SPN+SN.xlsx和不同图片的auc值：0.9999998399332659\n",
      "IDR+AWGN+IS.xlsx和不同图片的auc值：0.9999998901129168\n",
      "IDR+AWGN+BA.xlsx和不同图片的auc值：0.9999998113499204\n",
      "IDR+SPN+GLF.xlsx和不同图片的auc值：0.9999999399749746\n",
      "IDR+AWGN+CA.xlsx和不同图片的auc值：0.9999999028166258\n",
      "IDR+AWGN+JC.xlsx和不同图片的auc值：0.9999996731970846\n",
      "IDR+SPN+BA.xlsx和不同图片的auc值：0.9999998094443643\n",
      "IDR+SPN+IS.xlsx和不同图片的auc值：0.9999998901129168\n",
      "IDR+AWGN+PSNR.xlsx和不同图片的auc值：0.9999996088412493\n",
      "IDR+SPN+PSNR.xlsx和不同图片的auc值：0.9999994695624027\n",
      "所有相同图片和不同图片 的auc值：0.9999997488401992\n"
     ]
    }
   ],
   "source": [
    "auc_analysis(\"./混合攻击结果_2/四元数(Ycrcb,颜色向量角,255)版本_环形分区结果/\")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "image",
   "language": "python",
   "name": "image"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.18"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
